SYSTEM$SEND_SNOWFLAKE_NOTIFICATION

クラウドサービス(Amazon SNS、 Google Cloud PubSub、またはAzure Event Grid)が提供するメールアドレス、webhook、またはキューに通知メッセージを送信します。

こちらもご参照ください。

SYSTEM$SEND_SNOWFLAKE_NOTIFICATION を使用して通知を送信する

構文

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> , ... ] ) )
Copy

引数

message

メッセージの型とコンテンツを指定する JSON 形式の文字列。文字列は以下の形式にする必要があります。

{ "<content_type>": "<message_contents>" }
Copy

条件:

  • "content_type" は以下のいずれかです。

    • プレーンテキストメッセージの場合は "text/plain"

    • HTML メッセージの場合は "text/html"

    • JSON メッセージの場合は "application/json"

  • "<message_contents>" はメッセージのコンテンツです。

例:

{ "text/html": "<p>A message</p>" }
Copy

この文字列を構築するには、以下の関数のいずれかを呼び出します。

  • HTML メールメッセージを送信するには、 TEXT_HTML 関数を呼び出します。

  • プレーンテキストのメールメッセージを送信するには、 TEXT_PLAIN 関数を呼び出します。

  • JSON メッセージをキューに送信するには、 APPLICATION_JSON 関数を呼び出します。

integration_configuration

通知の送信に使用する通知統合またはメール構成を指定する JSON 形式の文字列。ターゲットデータ型は次の形式のいずれかにする必要があります。

{ "<integration_name>": {} }
Copy
{ "<integration_name>": { <options> } }
Copy

条件:

  • "integration_name" は、通知統合の名前です。

  • options は、統合のデフォルトを上書きする値を指定するプロパティ(JSON 形式)のコンマ区切りリストです。次のプロパティを指定できます。

    プロパティ名

    説明

    subject

    メール通知の件名。例:

    { "subject" : "Service status update" }
    
    Copy

    件名は256文字を超えることはできません。

    このプロパティを設定しない場合は、統合のデフォルト件名行が使用されます。

    統合がデフォルト件名を指定しない場合は、 "Snowflake Email Notification" が使用されます。

    toAddress

    メール通知の「To:」行に含める受信者のメールアドレスのリスト。

    このリストを JSON 配列としてフォーマットします。例:

    { "toAddress" : ["person_1@example.com", "person_2@example.com"] }
    
    Copy

    このプロパティを設定しない場合、ストアドプロシージャは、 メール通知統合 の DEFAULT_RECIPIENTS プロパティからのメールアドレスリストを使用します。

    ccAddress

    メール通知の「Cc:」行に含める受信者のメールアドレスのリスト。

    このリストを JSON 配列としてフォーマットします。例:

    { "ccAddress" : ["person_to_cc1@example.com", "person_to_cc2@example.com"] }
    
    Copy

    bccAddress

    メール通知の「Bcc:」行に含める受信者のメールアドレスのリスト。

    このリストを JSON 配列としてフォーマットします。例:

    { "bccAddress" : ["person_to_bcc1@example.com", "person_to_bcc2@example.com"] }
    
    Copy

    例:

    { "my_queue_int": {} }
    
    Copy
    { "my_email_int": { "subject" : "Different subject" } }
    
    Copy
    { "my_email_int": { "subject" : "Different subject" }, { "toAddress": ["person_a@example.com"] }
    
    Copy

統合構成用に 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 を呼び出してメッセージをサニタイズします。

SYSTEM$SEND_SNOWFLAKE_NOTIFICATION を使用して通知を送信する をご参照ください。