- カテゴリ:
ユーザーとセキュリティ DDL (サードパーティのサービス統合)
CREATE NOTIFICATION INTEGRATION¶
アカウントに新しい通知統合を作成するか、既存の統合を置き換えます。通知統合は、Snowflakeとサードパーティのクラウドメッセージキューサービス間のインターフェイスを提供するSnowflakeオブジェクトです。
通知の統合は、クラウドストレージサービスごとの次の機能に不可欠です。
- Amazon S3
- Google Cloud Storage
- Microsoft Azure BLOBストレージ
- こちらもご参照ください。
ALTER NOTIFICATION INTEGRATION , DROP INTEGRATION , SHOW INTEGRATIONS
このトピックの内容:
構文¶
CREATE [ OR REPLACE ] NOTIFICATION INTEGRATION [IF NOT EXISTS]
<name>
ENABLED = { TRUE | FALSE }
TYPE = QUEUE
cloudProviderParams
[ COMMENT = '<string_literal>' ]
条件:
cloudProviderParams (for Amazon S3) ::= NOTIFICATION_PROVIDER = AWS_SNS DIRECTION = OUTBOUND AWS_SNS_TOPIC_ARN = '<topic_arn>' AWS_SNS_ROLE_ARN = '<iam_role_arn>'cloudProviderParams (for Google Cloud Storage) ::= NOTIFICATION_PROVIDER = GCP_PUBSUB GCP_PUBSUB_SUBSCRIPTION_NAME = '<subscription_id>'cloudProviderParams (for Microsoft Azure) ::= NOTIFICATION_PROVIDER = AZURE_STORAGE_QUEUE AZURE_STORAGE_QUEUE_PRIMARY_URI = '<queue_URL>' AZURE_TENANT_ID = '<directory_ID>';
必須パラメーター¶
名前
統合の識別子(つまり、名前)を指定する文字列。アカウント内で一意である必要があります。
また、識別子はアルファベット文字で始まる必要があり、識別子文字列全体が二重引用符で囲まれていない限り、スペースや特殊文字を含めることはできません(例:
"My object"
)。二重引用符で囲まれた識別子も大文字と小文字が区別されます。詳細については、 識別子の要件 をご参照ください。
ENABLED = TRUE | FALSE
統合の操作を開始するか、中断するかを指定します。
TRUE
は、統合を有効にします。FALSE
は、メンテナンスのための統合を無効にします。Snowflakeとサードパーティサービスの統合はいずれも機能しません。
TYPE = QUEUE
統合のタイプを指定します。
QUEUE
:Snowflakeとサードパーティのクラウドメッセージキューサービスの間のインターフェイスを作成します。
クラウドプロバイダーのパラメーター(cloudProviderParams
)¶
Amazon S3
DIRECTION = OUTBOUND
Snowflakeに関するクラウドメッセージングの方向。
OUTBOUND
: Snowflakeがクラウドメッセージングサービスに送信される通知を生成することを指定します。AWS_SNS_TOPIC_ARN = '<topic_arn>'
エラーメッセージを処理するAmazon SNS (SNS)トピックのAmazonリソースネーム(ARN)。
AWS_SNS_ROLE_ARN = '<iam_role_arn>'
SNS トピックにエラーメッセージを公開する権限を持つ IAM ロールの ARN。
Google Cloud Storage
NOTIFICATION_PROVIDER = GCP_PUBSUB
クラウドプロバイダーを指定します。
GCP_PUBSUB
:Google Cloud Pub/Subをサードパーティのクラウドメッセージキューサービスとして指定します。GCP_PUBSUB_SUBSCRIPTION_NAME = '<subscription_id>'
Snowflakeがイベントメッセージにアクセスできるようにするために使用される、Pub/Subトピックサブスクリプション ID。
Microsoft Azure
NOTIFICATION_PROVIDER = AZURE_STORAGE_QUEUE
クラウドプロバイダーを指定します。
AZURE_STORAGE_QUEUE
:Microsoft Azure Event Gridを、サードパーティクラウドメッセージキューサービスとして指定します。AZURE_STORAGE_QUEUE_PRIMARY_URI = 'https://ストレージキューアカウント.queue.core.windows.net/ストレージキュー名'
Event Grid通知用に作成されたAzure Queue Storageキューのキュー ID を指定します。
注釈
Azure Queue Storageキューは、単一の通知の統合をサポートしています。イベント通知は通知の統合間で分割されるため、複数の通知統合で単一のストレージキューを参照すると、ターゲットテーブルのデータが失われる可能性があります。
詳細については、次をご参照ください。
- Snowpipe
- 外部テーブル
AZURE_TENANT_ID = '広告ディレクトリID'
ID管理に使用されるAzure Active Directoryテナントの ID を指定します。この ID は、Blobストレージ内の新しいファイルのSnowpipeロードを自動トリガーするのに使用するEvent Grid通知サブスクリプションへのSnowflakeアクセスを許可する同意 URL を生成するために必要です。
オプションのパラメーター¶
COMMENT = '文字列リテラル'
統合のコメントを指定する文字列(リテラル)。
デフォルト: 値なし
アクセス制御の要件¶
この SQL コマンドの実行に使用される ロール には、少なくとも次の 権限 が必要です。
権限 |
オブジェクト |
メモ |
---|---|---|
CREATE INTEGRATION |
アカウント |
Only the ACCOUNTADMIN role has this privilege by default. The privilege can be granted to additional roles as needed. |
指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。
セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 Snowflakeのアクセス制御 をご参照ください。
使用上の注意¶
複数のMicrosoft AzureストレージキューまたはGoogle Cloud Pub/Subサブスクリプションのために、単一の通知統合を作成することはサポートされていません。
メタデータについて。
注意
Snowflakeサービスを使用する場合、お客様は、個人データ(ユーザーオブジェクト向け以外)、機密データ、輸出管理データ、またはその他の規制されたデータがメタデータとして入力されていないことを確認する必要があります。詳細については、 Snowflakeのメタデータフィールド をご参照ください。
例¶
Google Cloud Storage
CREATE NOTIFICATION INTEGRATION my_notification_int TYPE = QUEUE NOTIFICATION_PROVIDER = GCP_PUBSUB ENABLED = true GCP_PUBSUB_SUBSCRIPTION_NAME = 'projects/project-1234/subscriptions/sub2';
Microsoft Azure
CREATE NOTIFICATION INTEGRATION my_notification_int ENABLED = true TYPE = QUEUE NOTIFICATION_PROVIDER = AZURE_STORAGE_QUEUE AZURE_STORAGE_QUEUE_PRIMARY_URI = 'https://myqueue.queue.core.windows.net/mystoragequeue' AZURE_TENANT_ID = 'a123bcde-1234-5678-abc1-9abc12345678';