本文档介绍了如何配置 Knowledge Catalog(以前称为 Dataplex Universal Catalog)元数据更改 Feed,以便在 Knowledge Catalog 中的元数据被创建、更新或删除时通过 Pub/Sub 接收通知。
如需详细了解元数据更改 Feed,请参阅元数据更改 Feed 概览。
准备工作
熟悉 Pub/Sub 和 Dataplex API。
-
启用 Dataplex API 和 Pub/Sub API。
启用 API 所需的角色
如需启用 API,您需要拥有
serviceusage.services.enable权限。如果您创建了项目,则可能已经通过 Owner 角色 (roles/owner) 获得了此权限。否则,您可以通过 Service Usage Admin 角色 (roles/serviceusage.serviceUsageAdmin) 获得此权限。了解如何授予角色。 创建 Pub/Sub 主题以接收通知。如需了解详情,请参阅创建主题。
安装
gcloud。 确保已设置gcloud的简短别名。设置
gcurl的别名。这会创建一个包含您的身份验证令牌的快捷方式,并为 API 请求设置 JSON 内容类型:alias gcurl='curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json"'设置
DATAPLEX_API变量:DATAPLEX_API="dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION"替换以下内容:
PROJECT_ID:已启用 Dataplex API 的项目 IDLOCATION:作业的运行位置,例如us-central1、europe-west3或asia-south1
所需的角色和权限
如需配置元数据更改 Feed,请确保您和 Knowledge Catalog 服务账号拥有所需的 IAM 角色和权限。
用户角色和权限
如需获得导出元数据和访问元数据更改 Feed 消息所需的权限,请让您的管理员为您授予项目或组织的以下 IAM 角色:
-
导出元数据:Dataplex Entry Group Exporter (
roles/dataplex.entryGroupExporter) -
访问元数据更改 Feed 消息:Pub/Sub Subscriber (
roles/pubsub.subscriber)
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
这些预定义角色可提供导出元数据和访问元数据更改 Feed 消息所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
如需导出元数据和访问元数据更改 Feed 消息,您需要具备以下权限:
-
导出元数据:
- 针对项目的
dataplex.metadataFeeds.create权限 -
针对定义 Feed 范围的资源(组织、项目或条目组)的
dataplex.entryGroups.export - 针对项目的
resourcemanager.projects.get权限 - 针对项目的
resourcemanager.projects.list权限
- 针对项目的
-
访问元数据更改 Feed 消息:
-
针对订阅的
pubsub.subscriptions.consume -
针对主题的
pubsub.topics.attachSubscription权限
-
针对订阅的
Knowledge Catalog 服务账号角色和权限
为了确保知识目录服务账号拥有发布元数据更改 Feed 消息所需的权限,请让您的管理员向 Pub/Sub 主题中的知识目录服务账号授予 Pub/Sub Publisher (roles/pubsub.publisher) 和 Pub/Sub Viewer (roles/pubsub.viewer) IAM 角色。
此预定义角色包含发布元数据更改 Feed 消息所需的 pubsub.topics.publish 和 pubsub.topics.get 权限。
您的管理员也可以使用自定义角色或其他预定义角色为 Knowledge Catalog 服务账号授予此权限。
向知识目录服务账号授予权限
启用 Dataplex API 后,系统会在 Knowledge Catalog 中创建服务代理。您可以通过服务代理的电子邮件 ID 来识别它:
service-PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com
其中,PROJECT_NUMBER 是您已在其中启用 Dataplex API 的项目的项目编号。
Knowledge Catalog 服务账号需要能够向您的 Pub/Sub 主题发布消息并检索主题元数据。
如需授予这些权限,请向服务账号授予 Pub/Sub 主题的 Pub/Sub 发布者角色 (roles/pubsub.publisher) 和 Pub/Sub 查看者角色 (roles/pubsub.viewer):
gcloud
运行 gcloud pubsub topics add-iam-policy-binding 命令:
gcloud pubsub topics add-iam-policy-binding TOPIC_ID \
--member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com" \
--role="roles/pubsub.publisher"
gcloud pubsub topics add-iam-policy-binding TOPIC_ID \
--member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com" \
--role="roles/pubsub.viewer"
替换以下内容:
TOPIC_ID:您的 Pub/Sub 主题的 ID,元数据更改 Feed 消息会发布到该主题。PROJECT_NUMBER:Knowledge Catalog 项目的项目编号,服务账号位于该项目中。
控制台
在 Google Cloud 控制台中,前往 Pub/Sub 主题页面。
选择您用于元数据 Feed 通知的主题,然后根据需要点击显示信息面板。
在权限标签页中,点击添加主账号。
在新的主账号字段中,输入 Knowledge Catalog 服务账号:
service-PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com。在分配角色字段中,选择 Pub/Sub 发布者。
点击添加其他角色,然后选择 Pub/Sub Viewer。
点击保存。
创建元数据变更数据流
如需控制哪些更改会生成通知,您可以配置元数据变更 Feed 来监控特定资源。为此,您需要指定范围,例如整个组织、特定项目或特定条目组。 虽然范围可让您定义要监控哪些资源,但您可以使用过滤条件进一步细化 Knowledge Catalog 发送通知的时间。
如需了解详情,请参阅元数据更改 Feed。
C#
C#
试用此示例之前,请按照《Knowledge Catalog 快速入门:使用客户端库》中的 C# 设置说明进行操作。 如需了解详情,请参阅 Knowledge Catalog C# API 参考文档。
如需向 Knowledge Catalog 进行身份验证,请设置应用默认凭据。如需了解详情,请参阅为本地开发环境设置身份验证。