Activation des notifications d’erreur des tâches avec Google Pub/Sub¶
Cette rubrique fournit des instructions pour configurer la prise en charge des notifications d’erreur pour des tâches à l’aide de Google Pub/Sub.
Activation de la notification des erreurs avec Google Pub/Sub¶
Pour activer les notifications de tâches, suivez les étapes des sections suivantes.
Step 1: Creating the Pub/Sub Topic¶
Create a Pub/Sub topic that can receive error notification messages from Snowflake, or reuse an existing topic. You can create the topic using Cloud Shell or Cloud SDK. For more information, see Create and use topics in the Pub/Sub documentation.
For example, execute the following command to create an empty topic:
$ gsutil notification create -t <topic>
If the topic already exists, the command uses it; otherwise, a new topic is created.
Step 2: Creating the Pub/Sub Subscription¶
Optionally create a subscription to the Pub/Sub topic to retrieve error notifications. You can create a subscription with pull delivery using the Cloud Console, gcloud
command-line tool, or the Cloud Pub/Sub API. For instructions, see Managing topics and subscriptions in the Pub/Sub documentation.
Step 3: Creating a Notification Integration in Snowflake¶
Create a notification integration using the CREATE NOTIFICATION INTEGRATION command. The notification integration references your Pub/Sub topic. Snowflake associates the notification integration with a Goodle Cloud Platform (GCP) service account created for your account. Snowflake creates a single service account that is referenced by all GCP notification integrations in your Snowflake account.
Note
Only account administrators (users with the ACCOUNTADMIN role) or a role with the global CREATE INTEGRATION privilege can execute this SQL command.
The GCP service account for notification integrations is different from the service account created for storage integrations.
CREATE NOTIFICATION INTEGRATION <integration_name>
ENABLED = TRUE
TYPE = QUEUE
DIRECTION = OUTBOUND
NOTIFICATION_PROVIDER = GCP_PUBSUB
GCP_PUBSUB_TOPIC_NAME = '<topic_id>'
Where:
integration_name
is the name of the new integration.topic_id
is the Pub/Sub topic to which Snowflake sends error notifications. For more information, see Step 1: Creating the Pub/Sub Topic (in this topic).
For example:
CREATE NOTIFICATION INTEGRATION my_notification_int
TYPE = QUEUE
DIRECTION = OUTBOUND
NOTIFICATION_PROVIDER = GCP_PUBSUB
ENABLED = true
GCP_PUBSUB_TOPIC_NAME = 'projects/sdm-prod/topics/mytopic';
Step 4: Granting Snowflake Access to the Pub/Sub Subscription¶
Execute the DESCRIBE INTEGRATION command to retrieve the Snowflake service account ID:
DESC NOTIFICATION INTEGRATION <integration_name>;
Where:
integration_name
is the name of the integration you created in « Step 1: Create a Notification Integration in Snowflake ».
For example:
DESC NOTIFICATION INTEGRATION my_notification_int;
Record the service account name in the GCP_PUBSUB_SERVICE_ACCOUNT column, which has the following format:
<service_account>@<project_id>.iam.gserviceaccount.com
Log into the Google Cloud Platform Console as a project editor.
From the home dashboard, choose Big Data » Pub/Sub » Subscriptions.
Select the subscription to configure for access.
Click SHOW INFO PANEL in the upper-right corner. The information panel for the subscription slides out.
In the Add members field, search for the service account name you recorded.
From the Select a role dropdown, select Pub/Sub Publisher.
Click the Add button. The service account name is added to the Pub/Sub Publisher role dropdown in the information panel.
Step 5: Enabling error notifications in tasks¶
Activez ensuite la notification d’erreur, dans une tâche autonome ou racine, en définissant ERROR_INTEGRATION comme le nom de l’intégration de la notification. Vous pouvez définir la valeur du paramètre lorsque vous créez une tâche (à l’aide de CREATE TASK) ou ultérieurement (à l’aide de ALTER TASK).
Pour plus de détails, reportez-vous à Configuration d’une tâche pour envoyer des notifications d’erreur.