Google Cloud Pub/Subトピックに通知を送信する通知統合の作成

Google Cloud Pub/Subトピックに通知を送信するには、そのトピック用に通知統合を作成する必要があります。これを実行するには、

  1. Pub/Subトピックを作成します

  2. Pub/Subサブスクリプションを作成します

  3. 通知統合を作成します

  4. SnowflakeにPub/Subサブスクリプションへのアクセス権を付与します

注釈

この機能は、Google Cloud Platform(GCP)にホストされているSnowflakeアカウントに制限されています。

Pub/Subトピックの作成

Snowflakeからエラー通知メッセージを受信できるPub/Subトピックを作成するか、既存のトピックを再利用します。トピックは、 クラウドシェル または クラウドSDK を使用して作成できます。詳細については、Pub/Subドキュメントの トピックの作成と使用 をご参照ください。

例えば、次のコマンドを実行して、空のトピックを作成します。

gsutil notification create -t <topic>
Copy

トピックがすでに存在する場合、コマンドはそれを使用します。それ以外の場合は、新しいトピックが作成されます。

Pub/Subサブスクリプションの作成

必要に応じて、Pub/Subトピックへのサブスクリプションを作成して、通知を取得します。Cloud Console、 gcloud コマンドラインツール、またはCloud Pub/Sub API を使用して、プル配信があるサブスクリプションを作成することができます。手順については、Pub/Subドキュメントの トピックとサブスクリプションの管理 をご参照ください。

Snowflakeでの通知統合の作成

CREATE NOTIFICATION INTEGRATION コマンドを実行して、通知統合を作成します。統合は、作成したPub/Subトピックを参照するSnowflakeオブジェクトです。

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

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 ロールドロップダウンに追加されます。