使用数据目录将现有模板中的标记与值一起附着到BigQuery表



我需要帮助使用在Google Data Catalog中创建的模板模板,通过Python编程来标记使用创建的同一模板模板的几个BigQuery表。我不知道如何使用创建的模板标记来附加到表。我在这个页面上找到了一个创建模板并将其应用于表的示例,但我想对几个表使用相同的模板,但我无法使用。我想要一些关于如何做到这一点的帮助或指导。谢谢作为参考,我使用了这个快速启动https://cloud.google.com/data-catalog/docs/tag-bigquery-dataset#python

您应该能够用一个标记模板标记多个BigQuery表,只需注意,使用给定的标记模板,表中的每个表和每列只能标记一次(即,您不能在使用相同标记模板的同一表上创建两个或多个标记(。

基于上述quickstart附带的Python代码片段,在创建标记模板后,您应该执行以下操作:

  1. 检查标记模板的哪些字段是必需的。您必须在标记请求中设置它们。默认情况下,不需要任何字段。

  2. 对于要标记的每个表:

    1. 准备表的BigQuery资源名称。在快速启动中,它通过以下片段实现:

      resource_name = (
      f"//bigquery.googleapis.com/projects/{project_id}"
      f"/datasets/{dataset_id}/tables/{table_id}"
      )
      
    2. 将BigQuery资源名称转换为数据目录条目名称。BigQuery表会自动导入到数据目录中。不幸的是,表示BigQuery表的数据目录条目的名称不容易从BigQuery资源名称中扣除。这就是为什么您必须调用LookupEntry方法:

      table_entry = datacatalog_client.lookup_entry(request={"linked_resource": resource_name})
      
    3. 现在创建一个标记。您可以指定:

      • 要使用的标签模板和UI中可见的标签名称:

        tag = datacatalog_v1.types.Tag()
        tag.template = tag_template.name
        tag.name = "my_super_cool_tag"
        
      • 标记中的字段。您必须至少指定所有必填字段。每个字段的名称必须与标记模板中的某个现有字段相匹配。字段的值必须具有与标记模板中声明的字段类型匹配的类型。在这个片段中,我们有字段";源";字符串类型:

        tag.fields["source"] = datacatalog_v1.types.TagField()
        tag.fields["source"].string_value = "Copied from tlc_yellow_trips_2018"
        
      • 调用CreateTag方法来标记表。返回的标签将填充一些额外的仅输出字段,例如唯一的标签名称,因此您不能在后续请求中重复使用它:

        tag = datacatalog_client.create_tag(parent=table_entry.name, tag=tag)
        print(f"Created tag: {tag.name}")
        

相关内容

  • 没有找到相关文章

最新更新