Create event notification integrations in Snowflake (Azure)
Learn how to create a notification integration in your Snowflake environment.
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.
- In the Snowflake application worksheet area, create a new SQL worksheet.
- 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:-
<notification_integration_name>: is the name for this Notification integration you're creating.
-
ENABLED: Is true.
-
TYPE: Is QUEUE.
-
NOTIFICATION_PROVIDER: Is AZURE_STORAGE_QUEUE.
-
AZURE_STORAGE_QUEUE_PRIMARY_URI: Is the value of the storage account queue URL you created in Create an Azure storage account queue
-
AZURE_TENANT_ID: is the value of the Directory (tenant) ID you created in Create Azure client credentials.
-
- In the SQL worksheet, view the Successfully created notification message.
- Grant Snowflake access to the storage location you specified in the external integration you created in the previous step:
- 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.
-
- 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.
-
- In a web browser, navigate to the AZURE_CONSENT_URL value specified in the response you received in the previous step.
- On the displayed Microsoft permissions request page, select Accept to create the Snowflake service principal and open the Snowflake website.
- In the same (or a separate) SQL spreadsheet, run this command to retrieve the consent URL:
- Grant the Snowflake service principal the appropriate permissions on the Azure storage container:
- In the Microsoft Azure portal, navigate to and search and select the Azure storage account you created in Create an Azure storage account.
- On the Storage account page, select the Access Control (IAM) tab.
- Select .
- On the Add role assignment page Role tab, search for and select Storage queue data contributor.
- 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. -
- At the bottom of the pane, select the Select button.
- At the bottom of the page, select the Review and assign button.
- In the Review and assign tab, review the details you specified and then at the bottom of the page, select Review and assign again.
- 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.