如何使用 Python API 将策略标签附加到列

问题描述 投票:0回答:1

作为数据治理的一部分,我们使用“Python API”创建了分类法、策略标签。我正在尝试将策略标签分配给表

Project.Dataset.TMP_TBL
的列[姓名,年龄]。 查看了 GCP 文档,但找不到任何 Python 代码片段来执行此操作。 请帮我解决这个问题,并提供示例代码片段。

google-cloud-platform google-bigquery google-api-python-client google-data-catalog data-governance
1个回答
0
投票

您可以使用 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
所以它不会出错。

© www.soinside.com 2019 - 2024. All rights reserved.