CREATE NOTIFICATION INTEGRATION (outbound to an Amazon SNS topic)¶
Creates a new notification integration in the account or replaces an existing integration for sending a message to an Amazon SNS topic.
Note
Currently, this feature is limited to Snowflake accounts hosted on AWS.
- See also:
ALTER NOTIFICATION INTEGRATION (outbound to an Amazon SNS topic) , DESCRIBE INTEGRATION , DROP INTEGRATION , SHOW INTEGRATIONS
Syntax¶
CREATE [ OR REPLACE ] NOTIFICATION INTEGRATION [ IF NOT EXISTS ] <name>
ENABLED = { TRUE | FALSE }
TYPE = QUEUE
DIRECTION = OUTBOUND
NOTIFICATION_PROVIDER = AWS_SNS
AWS_SNS_TOPIC_ARN = '<topic_arn>'
AWS_SNS_ROLE_ARN = '<iam_role_arn>'
[ COMMENT = '<string_literal>' ]
Required parameters¶
name
String that specifies the identifier (i.e. name) for the integration; must be unique in your account.
In addition, the identifier must start with an alphabetic character and cannot contain spaces or special characters unless the entire identifier string is enclosed in double quotes (for example,
"My object"
). Identifiers enclosed in double quotes are also case-sensitive.For more information, see Identifier requirements.
ENABLED = { TRUE | FALSE }
Specifies whether to initiate operation of the integration or suspend it.
TRUE
enables the integration.FALSE
disables the integration for maintenance. Any integration between Snowflake and a third-party service fails to work.
TYPE = QUEUE
Specifies that this is an integration between Snowflake and a third-party cloud message-queuing service.
DIRECTION = OUTBOUND
Specifies that Snowflake produces the notification sent to the cloud messaging service.
NOTIFICATION_PROVIDER = AWS_SNS
Specifies Amazon Simple Notification Service (SNS) as the third-party cloud message queuing service.
AWS_SNS_TOPIC_ARN = 'topic_arn'
Amazon Resource Name (ARN) of the Amazon SNS (SNS) topic to which notifications are pushed.
AWS_SNS_ROLE_ARN = 'iam_role_arn'
ARN of the IAM role that has permissions to publish messages to the SNS topic.
Note
The value of AWS_SNS_ROLE_ARN is case-sensitive. Use the exact value that is specified in your AWS account.
Optional parameters¶
COMMENT = 'string_literal'
String (literal) that specifies a comment for the integration.
Default: No value
Access control requirements¶
A role used to execute this SQL command must have the following privileges at a minimum:
Privilege |
Object |
Notes |
---|---|---|
CREATE INTEGRATION |
Account |
Only the ACCOUNTADMIN role has this privilege by default. The privilege can be granted to additional roles as needed. |
For instructions on creating a custom role with a specified set of privileges, see Creating custom roles.
For general information about roles and privilege grants for performing SQL actions on securable objects, see Overview of Access Control.
Usage notes¶
Using the same outbound notification integration for multiple pipes is supported for push notifications.
Regarding metadata:
Attention
Customers should ensure that no personal data (other than for a User object), sensitive data, export-controlled data, or other regulated data is entered as metadata when using the Snowflake service. For more information, see Metadata fields in Snowflake.
CREATE OR REPLACE <object> statements are atomic. That is, when an object is replaced, the old object is deleted and the new object is created in a single transaction.
The government regions of the cloud providers do not allow event notifications to be sent to or from other commercial regions. For more information, see AWS GovCloud (US) (https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/govcloud-s3.html).
Examples¶
See the following topics: