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.

« ֤Étape 1 : Création du sujet Pub/Sub

Créez un sujet Pub/Sub qui peut recevoir des messages de notification d’erreur de Snowflake, ou réutilisez un sujet existant. Vous pouvez créer le sujet en utilisant Cloud Shell ou Cloud SDK. Pour plus d’informations, voir Créer et utiliser des sujets dans la documentation Pub/Sub.

Par exemple, exécutez la commande suivante pour créer un sujet vide :

$ gsutil notification create -t <topic>
Copy

Si le sujet existe déjà, la commande l’utilise ; sinon, un nouveau sujet est créé.

« ֤Étape 2 : Création d’un abonnement Pub/Sub

Vous pouvez également créer un abonnement au sujet Pub/Sub pour récupérer les notifications d’erreur. Vous pouvez créer un abonnement avec transmission de type pull à l’aide de la console Cloud, de l’outil de ligne de commande gcloud ou de l’API Cloud Pub/Sub. Pour obtenir des instructions, voir Gérer les sujets et les abonnements dans la documentation Pub/Sub.

Étape 3 : Création d’une intégration de notification dans Snowflake

Créez une intégration de notification à l’aide de la commande CREATE NOTIFICATION INTEGRATION. L’intégration des notifications fait référence à votre sujet Pub/Sub. Snowflake associe l’intégration de la notification à un compte de service Goodle Cloud Platform (GCP) créé pour votre compte. Snowflake crée un seul compte de service référencé par toutes les notifications de stockage GCP de votre compte Snowflake.

Note

  • Seuls les administrateurs de compte (utilisateurs dotés du rôle ACCOUNTADMIN) ou un rôle disposant du privilège global CREATE INTEGRATION peuvent exécuter cette commande SQL.

  • Le compte de service GCP pour les intégrations de notification est différent du compte de service créé pour les intégrations de stockage.

CREATE NOTIFICATION INTEGRATION <integration_name>
  ENABLED = TRUE
  TYPE = QUEUE
  DIRECTION = OUTBOUND
  NOTIFICATION_PROVIDER = GCP_PUBSUB
  GCP_PUBSUB_TOPIC_NAME = '<topic_id>'
Copy

Où :

  • integration_name est le nom de la nouvelle intégration.

  • topic_id est le sujet Pub/Sub auquel Snowflake envoie des notifications d’erreur. Pour plus d’informations, voir Étape 1 : Création du sujet Pub/Sub (dans cette rubrique).

Par exemple :

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';
Copy

Étape 4 : Accord d’un accès à Snowflake à l’abonnement Pub/Sub

  1. Exécutez la commande DESCRIBE INTEGRATION pour récupérer l’ID de compte de service Snowflake :

    DESC NOTIFICATION INTEGRATION <integration_name>;
    
    Copy

    Où :

    • integration_name est le nom de l’intégration créée à l’étape 1 : « Créer une intégration de notification dans Snowflake. »

    Par exemple :

    DESC NOTIFICATION INTEGRATION my_notification_int;
    
    Copy
  2. Enregistrez le nom du compte de service dans la colonne GCP_PUBSUB_SERVICE_ACCOUNT, qui a le format suivant :

    <service_account>@<project_id>.iam.gserviceaccount.com
    
    Copy
  3. Connectez-vous à la console Google Cloud Platform en tant qu’éditeur de projet.

  4. Dans le tableau de bord d’accueil, sélectionnez Big Data » Pub/Sub » Subscriptions.

  5. Sélectionnez l’abonnement à configurer pour l’accès.

  6. Cliquez sur SHOW INFO PANEL dans le coin supérieur droit. Le panneau d’information de l’abonnement s’affiche en coulissant.

  7. Dans le champ Add members, recherchez le nom du compte de service que vous avez enregistré.

  8. Dans la liste déroulante Select a role, sélectionnez Pub/Sub Publisher.

  9. Cliquez sur le bouton Add. Le nom du compte de service est ajouté à la liste déroulante des rôles Pub/Sub Publisher dans le panneau d’informations.

Étape 5 : Activation des notifications d’erreur dans les tâches

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.