创建通知集成以向 Google Cloud Pub/Sub 主题发送通知

要向 Google Cloud Pub/Sub 主题发送通知,您必须为该主题创建通知集成。要这样做,请执行以下操作:

  1. 创建 Pub/Sub 主题

  2. 创建 Pub/Sub 订阅

  3. 创建通知集成

  4. 授予 Snowflake 对 Pub/Sub 订阅的访问权限

第 1 步:创建 Pub/Sub 主题

创建一个 Pub/Sub 主题,该主题可以接收来自 Snowflake 的错误通知消息,或者重用现有主题。可以使用 Cloud Shell (https://cloud.google.com/shell) 或 Cloud SDK (https://cloud.google.com/sdk) 创建主题。有关更多信息,请参阅 Pub/Sub 文档中的 创建和使用主题 (https://cloud.google.com/pubsub/docs/admin)。

例如,执行以下命令以创建一个空主题:

gsutil notification create -t <topic>
Copy

如果主题已存在,则该命令将使用该主题;如果不存在,将创建一个新主题。

第 2 步:创建 Pub/Sub 订阅

(可选)创建对 Pub/Sub 主题的订阅以检索通知。可以使用 Cloud Console、gcloud 命令行工具或 Cloud Pub/Sub API,创建一个采用拉取传递方式的订阅。有关说明,请参阅 Pub/Sub 文档中的 管理主题和订阅 (https://cloud.google.com/pubsub/docs/admin)。

第 3 步:在 Snowflake 中创建通知集成

运行 CREATE NOTIFICATION INTEGRATION 命令创建通知集成。集成是 Snowflake 对象,可引用您创建的 Pub/Sub 主题。

Snowflake 将通知集成与为您的账户创建的 Google Cloud Platform (GCP) 服务账户相关联。Snowflake 创建一个服务账户,该账户由 Snowflake 账户中的所有 GCP 通知集成引用。通知集成的 GCP 服务账户不同于为存储集成创建的服务账户。

运行命令时,为推送通知设置参数。对于云提供商参数,将 GCP_PUBSUB_TOPIC_NAME 设置为 您先前创建的主题 的名称。

例如:

CREATE NOTIFICATION INTEGRATION my_notification_int
  ENABLED = TRUE
  DIRECTION = OUTBOUND
  TYPE = QUEUE
  NOTIFICATION_PROVIDER = GCP_PUBSUB
  GCP_PUBSUB_TOPIC_NAME = 'projects/sdm-prod/topics/mytopic';
Copy

第 4 步:授予 Snowflake 对 Pub/Sub 订阅的访问权限

  1. 执行 DESCRIBE INTEGRATION 命令以显示您刚刚创建的通知集成的属性。

    例如,要显示名为 my_notification_int 的通知集成的属性,请执行以下操作:

    DESC NOTIFICATION INTEGRATION my_notification_int;
    
    Copy
  2. 记录 GCP_PUBSUB_SERVICE_ACCOUNT 属性的值(服务账户名称),其格式如下:

    <service_account>@<project_id>.iam.gserviceaccount.com
    
    Copy
  3. 以项目编辑者身份登录 Google Cloud Platform Console。

  4. 从主页控制面板中选择 Big Data » Pub/Sub » Subscriptions

  5. 选择要配置访问权限的订阅。

  6. 选择右上角的 SHOW INFO PANEL。订阅的信息面板将滑出。

  7. Add members 字段中,搜索您记录的服务账户名称。

  8. Select a role 下拉列表中,选择 Pub/Sub Publisher

  9. 选择 Add

    服务账户名称将添加到信息面板中的 Pub/Sub Publisher 角色下拉列表中。

语言: 中文