Microsoft Azure Event Gridトピックに通知を送信する通知統合の作成¶
Microsoft Azure Event Gridトピックに通知を送信するには、そのトピックの通知統合を作成する必要があります。これを実行するには、
注釈
現在この機能は、Microsoft AzureでホストされているSnowflakeアカウントに限定されています。
カスタムEvent Gridトピックの作成¶
Event Gridトピックは、ソースがイベント通知を送信するエンドポイントを提供します。Snowflakeによって公開された通知を受信するための専用トピックを作成します。
Event Gridトピックの作成手順については、 Event Gridのドキュメント をご参照ください。
Event Gridトピックエンドポイントを記録します。これは、これらの手順の後半で必要になります。
必要に応じて、トピックをサブスクライブして、追跡するイベントとそれらのイベントの送信先をEvent Gridに通知します。
Snowflakeでの通知統合の作成¶
テナントIDを取得する¶
AzureテナントIDを取得します。これは、これらの手順の後半で必要になります。
Microsoft Azureポータルにログインします。
Azure Active Directory » Properties に移動します。後で参照できるように、 Tenant ID 値を記録します。Event GridトピックへのSnowflakeアクセスを許可する同意URLを生成するには、ディレクトリIDまたは テナントID が必要です。
通知統合を作成する¶
CREATE NOTIFICATION INTEGRATION コマンドを実行して、通知統合を作成します。統合は、作成したEvent Gridトピックを参照するSnowflakeオブジェクトです。
コマンドを実行する際には、これらのパラメーターを以下の値に設定します。
AZURE_EVENT_GRID_TOPIC_ENDPOINT を、 先ほど記録したEvent Gridトピックエンドポイント に設定します。
AZURE_TENANT_ID を Azureテナント ID に設定します。
例:
CREATE NOTIFICATION INTEGRATION my_notification_int
ENABLED = TRUE
DIRECTION = OUTBOUND
TYPE = QUEUE
NOTIFICATION_PROVIDER = AZURE_EVENT_GRID
AZURE_EVENT_GRID_TOPIC_ENDPOINT = 'https://myaccount.region-1.eventgrid.azure.net/api/events'
AZURE_TENANT_ID = 'mytenantid';
トピックへSnowflakeアクセスを付与する¶
DESCRIBE INTEGRATION コマンドを実行して、作成したばかりの通知統合のプロパティを表示します。
例えば、
my_notification_int
という名前の通知統合のプロパティを表示するには:以下のプロパティの値を記録します。
AZURE_CONSENT_URL
Microsoftのアクセス許可リクエストページへの URL。
AZURE_MULTI_TENANT_APP_NAME
アカウント用に作成されたSnowflakeクライアントアプリケーションの名前。このセクションの後半のステップでは、このアプリケーションに、許可されたトピックでアクセストークンを取得するために必要な権限を付与する必要があります。
ウェブブラウザで、AZURE_CONSENT_URLプロパティで指定されたURLに移動します。このページには、Microsoft許可リクエストページが表示されます。
Accept を選択します。このアクションにより、Snowflakeアカウント用に作成されたAzureサービスプリンシパルは、テナント内の指定されたリソースでアクセストークンを取得できるようになります。アクセストークンの取得は、コンテナーに対する適切なアクセス許可をサービスプリンシパルに付与した場合にのみ成功します(次のステップを参照)。
Microsoftの権限リクエストページは、Snowflakeの企業サイト(snowflake.com)にリダイレクトされます。
Microsoft Azureポータルにログインします。
Azure Active Directory » Enterprise applications に移動します。以前に記録したSnowflakeアプリケーション識別子(AZURE_MULTI_TENANT_APP_NAMEプロパティの値)がリストされていることを確認します。
重要
Azure Active DirectoryでSnowflakeアプリケーションを後で削除すると、通知統合が機能しなくなります。
Event Grid Topics »
topic_name
に移動します。ここで、topic_name
は、イベント通知を受信するために作成したトピックの名前です。Access Control (IAM) » Add role assignment を選択します。
Snowflakeサービスプリンシパルを検索します。これは、先ほど記録したAZURE_MULTI_TENANT_APP_NAMEプロパティのIDです。AZURE_MULTI_TENANT_APP_NAME プロパティで、アンダースコアの 前にある 文字列を検索します。
重要
このセクションのMicrosoftリクエストページでリクエストされたSnowflakeサービスプリンシパルをAzureが作成するのに、1時間以上かかる場合があります。サービスプリンシパルがすぐに利用できない場合は、1~2時間待ってから、もう一度検索することをお勧めします。
サービスプリンシパルを削除すると、通知統合が機能しなくなります。
Snowflakeアプリケーションに EventGridデータ送信者 権限を付与します。