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)
我可以使用
remove()
方法从dataset.AccessEntry
中删除条目,该方法从Python中的列表中删除第一个匹配元素(作为参数传递)。您需要为要删除的相应条目指定PROJECT
、DATASET_NAME
和role
、entity_type
、entity_id
您可以找到
google.cloud.bigquery.dataset.AccessEntry
here的官方文档相关问题 更多 >
编程相关推荐