Google Pub/Subを使用したタスクのエラー通知の有効化¶
このトピックでは、Google Pub/Subを使用してタスクのエラー通知サポートを構成する手順について説明します。
Google Pub/Subを使用したエラー通知の有効化¶
タスク通知を有効にするには、次のセクションのステップに従います。
ステップ1: Pub/Subトピックを作成する¶
Snowflakeからエラー通知メッセージを受信できるPub/Subトピックを作成するか、既存のトピックを再利用します。トピックは、 クラウドシェル または クラウドSDK を使用して作成できます。詳細については、Pub/Subドキュメントの トピックの作成と使用 をご参照ください。
例えば、次のコマンドを実行して、空のトピックを作成します。
$ gsutil notification create -t <topic>
トピックがすでに存在する場合、コマンドはそれを使用します。それ以外の場合は、新しいトピックが作成されます。
ステップ2: Pub/Subサブスクリプションを作成する¶
必要に応じて、Pub/Subトピックへのサブスクリプションを作成して、エラー通知を取得します。Cloud Console、 gcloud
コマンドラインツール、またはCloud Pub/Sub API を使用して、プル配信があるサブスクリプションを作成することができます。手順については、Pub/Subドキュメントの トピックとサブスクリプションの管理 をご参照ください。
ステップ3: Snowflakeで通知統合を作成する¶
CREATE NOTIFICATION INTEGRATION コマンドを使用して通知統合を作成します。通知統合は、Pub/Subトピックを参照します。Snowflakeは、通知統合をアカウント用に作成されたGoogle Cloud Platform(GCP)サービスアカウントに関連付けます。Snowflakeは、Snowflakeアカウントのすべての GCP 通知統合によって参照される単一のサービスアカウントを作成します。
注釈
このSQLコマンドを実行できるのは、アカウント管理者(ACCOUNTADMINロールを持つユーザー)またはグローバルCREATE INTEGRATION権限を持つロールのみです。
通知統合用の GCP サービスアカウントは、ストレージ統合用に作成されたサービスアカウントとは異なります。
CREATE NOTIFICATION INTEGRATION <integration_name>
ENABLED = TRUE
TYPE = QUEUE
DIRECTION = OUTBOUND
NOTIFICATION_PROVIDER = GCP_PUBSUB
GCP_PUBSUB_TOPIC_NAME = '<topic_id>'
条件:
integration_name
は、新しい統合の名前です。topic_id
は、Snowflakeがエラー通知を送信するPub/Subトピックです。詳細については、 ステップ1: Pub/Subトピックを作成する (このトピック内)をご参照ください。
例:
CREATE NOTIFICATION INTEGRATION my_notification_int
TYPE = QUEUE
DIRECTION = OUTBOUND
NOTIFICATION_PROVIDER = GCP_PUBSUB
ENABLED = true
GCP_PUBSUB_TOPIC_NAME = 'projects/sdm-prod/topics/mytopic';
ステップ4: Pub/SubサブスクリプションにSnowflakeアクセスを許可する¶
DESCRIBE INTEGRATION コマンドを実行して、Snowflakeサービスアカウント ID を取得します。
DESC NOTIFICATION INTEGRATION <integration_name>;
条件:
integration_name
は、「ステップ1: Snowflakeで通知統合を作成する」で作成した統合の名前です。
例:
DESC NOTIFICATION INTEGRATION my_notification_int;
GCP_PUBSUB_SERVICE_ACCOUNT 列にサービスアカウント名を記録します。これは次の形式です。
<service_account>@<project_id>.iam.gserviceaccount.com
プロジェクトエディターとしてGoogle Cloud Platform Consoleにログインします。
ホームダッシュボードから、 Big Data » Pub/Sub » Subscriptions を選択します。
アクセス用に構成するサブスクリプションを選択します。
右上隅の SHOW INFO PANEL をクリックします。サブスクリプションの情報パネルがスライドアウトします。
Add members フィールドで、記録したサービスアカウント名を検索します。
Select a role ドロップダウンから、 Pub/Sub Publisher を選択します。
Add ボタンをクリックします。サービスアカウント名は、情報パネルの Pub/Sub Publisher ロールドロップダウンに追加されます。
ステップ5: タスクでエラー通知を有効にする¶
次に、通知統合の名前に ERROR_INTEGRATION を設定して、スタンドアロンまたはルートタスクでエラー通知を有効にします。プロパティは、タスクの作成時(CREATE TASK を使用)またはそれ以降(ALTER TASK を使用)に設定できます。
詳細については、 エラー通知を送信するタスクの構成 をご参照ください。