使用数据目录将标签连同值附加到 BigQuery table

Attach a tag along with the values to a BigQuery table using the Data Catalog

我在 BigQuery 中有多个 table。我还有一个标签模板。 有没有办法附加此标签模板并使用 python 以编程方式将详细信息填充到任何 table 使用 google.cloud.datacatalog?

tag = datacatalog.Tag()
tag.template = 'my_project_id.my_tag_template'

data_sources_field = datacatalog.TagField()
data_sources_field.string_value = 'Test_data_source'
tag.fields['data_sources'] = data_sources_field

datacatalog_client.create_tag(parent=my_table_entry.name,
                              tag=tag)

我收到以下错误 -

PermissionDenied: 403 Permission denied on resource project my_project_id.my_tag_template.

服务帐户具有 'project editor' 角色。

如果您想创建标签模板并使用 Python API 以编程方式将标签连同值附加到 BigQuery table,请参阅此 quickstart .

如果您遇到与 OP 相同的错误(PermissionDenied:403 Permission denied on resource project),请参考 OP 本人的

如果您想通过控制台执行相同的操作,请按照以下步骤操作。有关详细信息,请参阅此 doc.

  • 通过导航数据目录 -> 标签模板 -> 创建标签模板创建新标签模板(根据您的要求提供“模板 ID”、“位置”和“字段”,然后单击创建)

  • 要将标签附加到数据集中的 table,请浏览数据目录 -> 搜索,在搜索框中输入您的 dataset/table 名称,然后单击搜索。从结果来看,select 你的 table 想要附加标签。

  • 在select输入table后,点击“附加标签”,然后在“选择要标记的内容”中select你的table名字,然后在“Choose the tag templates”中选择标签模板(您新创建的),并在“Fill in tag values”中根据您的要求添加基于显示名称和类型的值,然后单击保存。 “附加标签”页面将如下所示:

  • 您可以在 Data Catalog 的 table 页面的“Tags”下查看创建的带有值的标签,如下所示:

问题是由调用 tagTemplate 的方式引起的。

tag.template = 'projects/<project-id>/locations/<location>/tagTemplates/<template_id>'

像上面那样调用解决了问题。