Accelerate the Value of Data

Create event notification integrations in Snowflake (Azure)

Learn how to create a notification integration in your Snowflake environment.

Before you create event notification integrations in Snowflake, you must have created an Azure cloud storage. For more information, see topic Configure Azure cloud storage for Snowflake.

A notification integration connects your Snowflake environment to your Azure cloud queue's messaging services. Create one notification integration per storage queue to avoid missing data in target tables.

To create the notification integration in your Snowflake environment:
  1. In the Snowflake application worksheet area, create a new SQL worksheet.
  2. In the SQL worksheet, run this command to create an external stage storage integration:
    CREATE NOTIFICATION INTEGRATION <notification_integration_name>
      ENABLED = true
      TYPE = QUEUE
      NOTIFICATION_PROVIDER = AZURE_STORAGE_QUEUE
      AZURE_STORAGE_QUEUE_PRIMARY_URI = 'https://<storage_account_name>.queue.core.windows.net/<storage_queue_name>'
      AZURE_TENANT_ID = '<tenant_id>';
    
    where:
  3. In the SQL worksheet, view the Successfully created notification message.
  4. Grant Snowflake access to the storage location you specified in the external integration you created in the previous step:
    1. In the same (or a separate) SQL spreadsheet, run this command to retrieve the consent URL:
      DESCRIBE notification integration <notification_integration_name>;
      where:
      • <notification_integration_name>: Is the name of the event notification integration you created in the previous step.

    2. From the command response, Take note of these values, which you will need to grant this application the permissions necessary to obtain an access token for your allowed Azure storage locations:
      • AZURE_CONSENT_URL: Is the URL for the Microsoft permissions request page.

      • AZURE_MULTI_TENANT_APP_NAME: Is the name of the Snowflake client application created for your account.

    3. In a web browser, navigate to the AZURE_CONSENT_URL value specified in the response you received in the previous step.
    4. On the displayed Microsoft permissions request page, select Accept to create the Snowflake service principal and open the Snowflake website.
  5. Grant the Snowflake service principal the appropriate permissions on the Azure storage container:
    1. In the Microsoft Azure portal, navigate to and search and select the Azure storage account you created in Create an Azure storage account.
    2. On the Storage account page, select the Access Control (IAM) tab.
    3. Select Add > role assignment.
    4. On the Add role assignment page Role tab, search for and select Storage queue data contributor.
    5. Complete the Members tab:
      • Selected role: Is the custom role name you created in Create Azure access controls.

      • Assign access tab:
        • Members: Select + Select members in the panel displayed on the right, search for the value of the AZURE_MULTI_TENANT_APP_NAME variable from step 4 above. Delete the underscore and any following characters from the search field and then select your displayed value.

      Attention: If you delete the service principal, the storage integration will stop working. You'll need to reauthorize a Snowflake service principal for the Reltio Data Pipeline for Snowflake to continue functioning.
    6. At the bottom of the pane, select the Select button.
    7. At the bottom of the page, select the Review and assign button.
    8. In the Review and assign tab, review the details you specified and then at the bottom of the page, select Review and assign again.
  6. Clear the Added role assignment notification and then back on the Access and Control (IAM) page, view your new storage blob data contributor in the list.
For general information, see Create notification integration in the Snowflake SQL Command Reference.