SYSTEM$SEND_SNOWFLAKE_NOTIFICATION¶
クラウドサービス(Amazon SNS、 Google Cloud PubSub、またはAzure Event Grid)が提供するメールアドレス、webhook、またはキューに通知メッセージを送信します。
- こちらもご参照ください。
構文¶
SYSTEM$SEND_SNOWFLAKE_NOTIFICATION(
<message>,
<integration_configuration> )
SYSTEM$SEND_SNOWFLAKE_NOTIFICATION(
( <message>, [ <message>, ... ] ),
<integration_configuration> )
SYSTEM$SEND_SNOWFLAKE_NOTIFICATION(
<message>,
( <integration_configuration> [ , <integration_configuration> , ... ] ) )
SYSTEM$SEND_SNOWFLAKE_NOTIFICATION(
( <message> [ , <message> , ... ] ),
( <integration_configuration> [ , <integration_configuration> , ... ] ) )
引数¶
message
メッセージの型とコンテンツを指定する JSON 形式の文字列。文字列は以下の形式にする必要があります。
{ "<content_type>": "<message_contents>" }
条件:
"content_type"
は以下のいずれかです。プレーンテキストメッセージの場合は
"text/plain"
。HTML メッセージの場合は
"text/html"
。JSON メッセージの場合は
"application/json"
。
"<message_contents>"
はメッセージのコンテンツです。
例:
{ "text/html": "<p>A message</p>" }
この文字列を構築するには、以下の関数のいずれかを呼び出します。
HTML メールメッセージを送信するには、 TEXT_HTML 関数を呼び出します。
プレーンテキストのメールメッセージを送信するには、 TEXT_PLAIN 関数を呼び出します。
JSON メッセージをキューに送信するには、 APPLICATION_JSON 関数を呼び出します。
integration_configuration
通知の送信に使用する通知統合またはメール構成を指定する JSON 形式の文字列。ターゲットデータ型は次の形式のいずれかにする必要があります。
{ "<integration_name>": {} }
{ "<integration_name>": { <options> } }
条件:
"integration_name"
は、通知統合の名前です。options
は、統合のデフォルトを上書きする値を指定するプロパティ(JSON 形式)のコンマ区切りリストです。次のプロパティを指定できます。プロパティ名
説明
subject
メール通知の件名。例:
{ "subject" : "Service status update" }
件名は256文字を超えることはできません。
このプロパティを設定しない場合は、統合のデフォルト件名行が使用されます。
統合がデフォルト件名を指定しない場合は、
"Snowflake Email Notification"
が使用されます。toAddress
メール通知の「To:」行に含める受信者のメールアドレスのリスト。
このリストを JSON 配列としてフォーマットします。例:
{ "toAddress" : ["person_1@example.com", "person_2@example.com"] }
このプロパティを設定しない場合、ストアドプロシージャは、 メール通知統合 の DEFAULT_RECIPIENTS プロパティからのメールアドレスリストを使用します。
ccAddress
メール通知の「Cc:」行に含める受信者のメールアドレスのリスト。
このリストを JSON 配列としてフォーマットします。例:
{ "ccAddress" : ["person_to_cc1@example.com", "person_to_cc2@example.com"] }
bccAddress
メール通知の「Bcc:」行に含める受信者のメールアドレスのリスト。
このリストを JSON 配列としてフォーマットします。例:
{ "bccAddress" : ["person_to_bcc1@example.com", "person_to_bcc2@example.com"] }
例:
{ "my_queue_int": {} }
{ "my_email_int": { "subject" : "Different subject" } }
{ "my_email_int": { "subject" : "Different subject" }, { "toAddress": ["person_a@example.com"] }
統合構成用に JSON 形式の文字列を構築するには、以下の関数のいずれかを呼び出します。
通知をキューに送信するときや、メール通知を送信するときに、メール通知の統合で指定されたデフォルト値を使用する場合は、 INTEGRATION 関数を呼び出します。
メール通知を送信するときに、メール通知統合で指定されたデフォルト値を上書きする場合は、 EMAIL_INTEGRATION_CONFIG 関数を呼び出します。
( message [ , message , ... ] )
それぞれメッセージの型とコンテンツを指定する JSON 形式の文字列の ARRAY。複数の形式でメッセージを送信する場合は、この引数を指定します。
各メッセージには、 上記の形式 を使用する必要があります。
ARRAY を構築するには、 ARRAY_CONSTRUCT 関数を呼び出します。
注釈
ARRAY に同じメッセージコンテンツ型のためのオブジェクトを複数含めることはできません。
( integration_configuration [ , integration_configuration , ... ] )
それぞれが使用する通知統合と構成を指定する JSON 形式の文字列の ARRAY。複数の通知統合またはメール構成を使用してメッセージを送信する場合は、この引数を指定します。
各統合構成には、 上記の形式 を使用する必要があります。
ARRAY を構築するには、 ARRAY_CONSTRUCT 関数を呼び出します。
注釈
ARRAY に同じ通知統合のためのオブジェクトを複数含めることはできません。
戻り値¶
ストアドプロシージャが正常に実行されると、「Enqueued notifications」という文字列が返されます。
使用上の注意¶
メール通知の場合、通知統合で DEFAULT_RECIPIENTS プロパティが設定されておらず、 SYSTEM$SEND_SNOWFLAKE_NOTIFICATION 呼び出しで
toAddress:
プロパティを設定しない場合は、呼び出しに失敗します。Webhook通知の場合は、 SYSTEM$SEND_SNOWFLAKE_NOTIFICATION にメッセージを渡す前に SANITIZE_WEBHOOK_CONTENT を呼び出してメッセージをサニタイズします。