作为数据治理的一部分,我们使用“Python API”创建了分类法、策略标签。我正在尝试将策略标签分配给表
Project.Dataset.TMP_TBL
的列[姓名,年龄]。
查看了 GCP 文档,但找不到任何 Python 代码片段来执行此操作。
请帮我解决这个问题,并提供示例代码片段。
您可以使用 update_table() 将策略标签分配给列。更新特定列的政策标签时,请参阅以下代码:
from google.cloud import bigquery
from google.cloud.bigquery.schema import SchemaField,PolicyTagList
client = bigquery.Client()
table_id = 'project_id.dataset_id.table_id'
policy_tags = PolicyTagList(names=["projects/<my_project_id>/locations/us/taxonomies/<taxonomy_id>/policyTags/<policy_tag_id>"])
table = client.get_table(table_id)
table.schema = [
SchemaField(
name="name",
field_type="STRING",
policy_tags=policy_tags
),
SchemaField(
name="age",
field_type="INT64"
)
]
table = client.update_table(table=table,fields=["schema"])
print(table.schema)
输出:
注意:例如,您有一个包含 2 列的表格(
name
,age
)。如果你只想为 policy_tag
更新 name
,你可以按照上面的代码所示进行操作。但是你还需要重新定义age
所以它不会出错。