Création d’une intégration de notification pour envoyer des notifications à un sujet Google Cloud Pub/Sub

Pour envoyer des notifications à un sujet Google Cloud Pub/Sub, vous devez créer une intégration de notification pour ce sujet. Pour ce faire :

  1. Créez un sujet Pub/Sub.

  2. Créez un abonnement Pub/Sub.

  3. Créez une intégration de notification.

  4. Accordez un accès à Snowflake à l’abonnement Pub/Sub.

Note

Actuellement, cette fonctionnalité est limitée aux comptes Snowflake hébergés sur Google Cloud Platform (GCP).

Créer le 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éé.

Créer l’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.

Créer une intégration de notification dans Snowflake

Exécutez la commande CREATE NOTIFICATION INTEGRATION pour créer une intégration de notification. Une intégration est un objet Snowflake qui fait référence au sujet Pub/Sub que vous avez créé.

Snowflake associe l’intégration de notification à un compte de service Google 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. 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.

Lors de l’exécution de la commande, définissez GCP_PUBSUB_TOPIC_NAME sur le nom du sujet que vous avez créé plus tôt.

Par exemple :

CREATE NOTIFICATION INTEGRATION my_notification_int
  ENABLED = TRUE
  DIRECTION = OUTBOUND
  TYPE = QUEUE
  NOTIFICATION_PROVIDER = GCP_PUBSUB
  GCP_PUBSUB_TOPIC_NAME = 'projects/sdm-prod/topics/mytopic';
Copy

Accorder un accès à Snowflake à l’abonnement Pub/Sub

  1. Exécutez la commande DESCRIBE INTEGRATION pour afficher les propriétés de l’intégration de notification que vous venez de créer.

    Par exemple, pour afficher les propriétés de l’intégration de notification nommée my_notification_int :

    DESC NOTIFICATION INTEGRATION my_notification_int;
    
    Copy
  2. Enregistrez la valeur de la propriété GCP_PUBSUB_SERVICE_ACCOUNT (le nom du compte de service), 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. Dans le coin supérieur droit, sélectionnez SHOW INFO PANEL. 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. Sélectionnez Add.

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