SYSTEM$SEND_SNOWFLAKE_NOTIFICATION¶
Sends a notification message to an email address, webhook, or queue provided by a Cloud service (Amazon SNS, Google Cloud PubSub, or Azure Event Grid).
Syntax¶
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> , ... ] ) )
Arguments¶
message
JSON-formatted string that specifies the type and content of the message. The string must be in the following format:
{ "<content_type>": "<message_contents>" }
Where:
"content_type"
is one of the following:"text/plain"
for plain text messages."text/html"
for HTML messages."application/json"
for JSON messages.
"<message_contents>"
is the content of the message.
For example:
{ "text/html": "<p>A message</p>" }
To construct this string, you can call one of the following functions:
To send an HTML email message, call the TEXT_HTML function.
To send a plain text email message, call the TEXT_PLAIN function.
To send a JSON message to a queue, call the APPLICATION_JSON function.
integration_configuration
JSON-formatted string that specifies the notification integration or the email configuration to use to send the notification. The string must be one of the following formats:
{ "<integration_name>": {} }
{ "<integration_name>": { <options> } }
Where:
"integration_name"
is the name of the notification integration.options
is a comma-delimited list of properties (in JSON format) that specify values that override the defaults in the integration. You can specify the following properties:Property Name
Description
subject
Subject line of the email notification. For example:
{ "subject" : "Service status update" }
The subject cannot exceed 256 characters in length.
If you do not set this property, the default subject line from the integration is used.
If the integration does not specify a default subject line,
"Snowflake Email Notification"
is used.toAddress
List of email addresses of the recipients to include in the “To:” line of the email notification.
Format this list as a JSON array. For example:
{ "toAddress" : ["person_1@example.com", "person_2@example.com"] }
If you do not set this property, the stored procedure uses the list of email addresses from the DEFAULT_RECIPIENTS property of the email notification integration.
ccAddress
List of email addresses of the recipients to include in the “Cc:” line of the email notification.
Format this list as a JSON array. For example:
{ "ccAddress" : ["person_to_cc1@example.com", "person_to_cc2@example.com"] }
bccAddress
List of email addresses of the recipients to include in the “Bcc:” line of the email notification.
Format this list as a JSON array. For example:
{ "bccAddress" : ["person_to_bcc1@example.com", "person_to_bcc2@example.com"] }
For example:
{ "my_queue_int": {} }
{ "my_email_int": { "subject" : "Different subject" } }
{ "my_email_int": { "subject" : "Different subject" }, { "toAddress": ["person_a@example.com"] }
To construct the JSON-formatted strings for the integration configuration, call one of the following functions:
If you are sending the notification to a queue, or if you are sending an email notification and want to use the default values specified in the email notification integration, call the INTEGRATION function.
if you are sending an email notification and want to override the default values specified in the email notification integration, call the EMAIL_INTEGRATION_CONFIG function.
( message [ , message , ... ] )
ARRAY of JSON-formatted strings, each of which specify a message type and content. Specify this argument if you want to send a message in multiple formats.
Each message should use the format described above.
To construct the ARRAY, call the ARRAY_CONSTRUCT function.
Note
The ARRAY cannot contain more than one object for the same message content type.
( integration_configuration [ , integration_configuration , ... ] )
ARRAY of JSON-formatted strings, each of which specifies a notification integration and configuration to use. Specify this argument if you want to use multiple notification integrations or email configurations to send a message.
Each integration configuration should use the format described above.
To construct the ARRAY, call the ARRAY_CONSTRUCT function.
Note
The ARRAY cannot contain more than one object for the same notification integration.
Returns¶
If the stored procedure executes successfully, it returns the string “Enqueued notifications”.
Usage notes¶
For email notifications, if the DEFAULT_RECIPIENTS property is not set in the notification integration and you do not set the
toAddress:
property in the SYSTEM$SEND_SNOWFLAKE_NOTIFICATION call, the call fails.For webhook notifications, call SANITIZE_WEBHOOK_CONTENT to sanitize the message before passing the message to SYSTEM$SEND_SNOWFLAKE_NOTIFICATION.
Examples¶
See Using SYSTEM$SEND_SNOWFLAKE_NOTIFICATION to send notifications.