Skip to main content

Notification Integration

Configuration can be provided to Snowflake Object Lifecycle Engine for the following operation with Notification Integration:

  • Manage Lifecycle of new and existing Notification Integrations
  • Manage Grants of Notification Integrations

Supported Parameters

The engine supports the parameters listed below.

  • AWS_SNS_ROLE_ARN: AWS IAM role ARN for notification integration to assume.
    • REQUIRED Only if notification_provider set to AWS_SNS
    • Configuration key: aws_sns_role_arn
    • Data Type: String
  • AWS_SNS_TOPIC_ARN: AWS SNS Topic ARN for notification integration to connect to.
    • REQUIRED Only if notification_provider set to AWS_SNS
    • Configuration key: aws_sns_topic_arn
    • Data Type: String
  • AWS_SQS_ARN: AWS SQS queue ARN for notification integration to connect to .
    • REQUIRED Only if notification_provider set to AWS_SQS
    • Configuration key: aws_sqs_arn
    • Data Type: String
  • AWS_SQS_ROLE_ARN: AWS IAM role ARN for notification integration to assume .
    • REQUIRED Only if notification_provider set to AWS_SQS
    • Configuration key: aws_sqs_role_arn
    • Data Type: String
  • AZURE_STORAGE_QUEUE_PRIMARY_URL: The queue ID for the Azure Queue Storage queue created for Event Grid notifications.
    • REQUIRED Only if notification_provider set to AZURE_STORAGE_QUEUE
    • Configuration key: azure_storage_queue_primary_uri
    • Data Type: String
  • AZURE_TENANT_ID: The ID of the Azure Active Directory tenant used for identity management.
    • REQUIRED Only if notification_provider set to AZURE_STORAGE_QUEUE
    • Configuration key: azure_tenant_id
    • Data Type: String
  • GCP_PUBSUB_SUBSCRIPTION_NAME: Pub/Sub topic subscription ID used to allow Snowflake access to event messages.
    • REQUIRED Only if notification_provider set to AZURE_STORAGE_QUEUE
    • Configuration key: gcp_pubsub_subscription_name
    • Data Type: String
  • DIRECTION: Direction of the cloud messaging with respect to Snowflake.
    • REQUIRED Only if notification_provider set to AWS_SQS OR AWS_SNS
    • Configuration key: direction
    • Data Type: String
    • Possible Values:
      • OUTBOUND
      • INBOUND
  • NOTIFICATION_PROVIDER: The third-party cloud message queuing service .
    • REQUIRED
    • Configuration key: notification_provider
    • Data Type: String
    • Possible Values:
      • AZURE_STORAGE_QUEUE
      • AWS_SQS
      • AWS_SNS
      • GCP_PUBSUB
        caution

        Currently AWS_SQS notification_provider is not supported in snowflake.

  • ENABLED: Specifies whether to initiate operation of the integration or suspend it.
    • Configuration key: enabled
    • Data Type: Boolean
      tip

      TRUE enables the integration.
      FALSE disables the integration for maintenance. Any integration between Snowflake and a third-party service fails to work.

  • COMMENT: A comment for the integration.
    • Configuration key: comment
    • Data Type: String
  • TYPE: A type of integration.
    • Configuration key: type
    • Data Type: String
    • Possible Values:
      • QUEUE (Default)
  • NAMESPACING: Specify whether Prefix or Suffix or both are to be added to Notification Integration Name.
    • Configuration key: namespacing
    • Data Type: String
    • Possible Values:
      • none
      • prefix
      • suffix
      • both(Default)
  • ENVIRONMENT: Specify the environment in which the Notification Integration is managed. Regex can be provided as well.
    • Configuration key: environment
    • Data Type: String
  • MANAGE_MODE: Configures what properties to manage for the Notification Integration.
    • Configuration key: manage_mode
    • Data Type: String
    • Possible Values:
      • none
      • grants
      • all(Default)
  • GRANTS: List of Privileges and Roles to which privileges are granted to on the current API Integration.
    • Configuration key: grants
    • Data Type: Map

Basic syntax

notification_integrations:
<notification_integrations-name>:
<configuration-key>: <value>
grants:
<privilege>:
- <role-name>
- <role-name>

Supported Notification Integration Grants to Roles

Following is the list of Privileges Grant to Roles that can be specified in the notification integration definition

  • USAGE
  • OWNERSHIP

Examples

  • Notification Integration example with notification_provider as AZURE_STORAGE_QUEUE
notification_integrations:
NOTIFICATION_INTEGRATION_AZURE:
comment: "test notification"
enabled: true
type: "QUEUE"
notification_provider: "AZURE_STORAGE_QUEUE"
azure_storage_queue_primary_uri: "https://myqueue.queue.core.windows.net/mystoragequeue"
azure_tenant_id: "a123bcde-1234-5678-abc1-9abc12345678"
  • Notification Integration example with notification_provider as AWS_SNS
notification_integrations:
NOTIFICATION_INTEGRATION_AWS_SNS:
comment: "test notification"
enabled: true
type: "QUEUE"
direction: "OUTBOUND"
notification_provider: "AWS_SNS"
aws_sns_topic_arn: "arn:aws:sns:us-west-2:432981146916:user-updates-topic"
aws_sns_role_arn: "arn:aws:iam::209163973960:role/S3Full_Access"
grants:
USAGE:
- SYSADMIN
  • Notification Integration example with notification_provider as GCP_PUBSUB
notification_integrations:
NOTIFICATION_INTEGRATION_GCP_PUBSUB:
comment: "test notification"
notification_provider: "GCP_PUBSUB"
gcp_pubsub_subscription_name: "projects/project-1234/subscriptions/sub2"
grants:
USAGE:
- SYSADMIN