Я могу удалить запись из dataset.AccessEntry
с помощью метода remove()
, который удаляет первый совпадающий элемент (переданный в качестве аргумента) из списка в Python. Вам необходимо указать PROJECT
, DATASET_NAME
и role
, entity_type
, entity_id
для соответствующей записи, которую нужно удалить sh.
from google.cloud import bigquery
from google.cloud.bigquery.dataset import DatasetReference
PROJECT='<PROJECT_NAME>'
bq = bigquery.Client(project=PROJECT)
dsinfo = bq.get_dataset("<DATASET_NAME>")
#Specify the entry that will loose access to a dataset
entry = bigquery.AccessEntry(
role="<ROLE>",
entity_type="<ENTITY_TYPE>",
entity_id="<EMAIL>",
)
if entry in dsinfo.access_entries:
entries = list(dsinfo.access_entries)
entries.remove(entry)
dsinfo.access_entries = entries
dsinfo = bq.update_dataset(dsinfo, ["access_entries"])
else:
print("Entry wasn't found in dsinfo.access_entries")
print(dsinfo.access_entries)
Вы можете найти официальную документацию для google.cloud.bigquery.dataset.AccessEntry
здесь .