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 :
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>
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';
Accorder un accès à Snowflake à l’abonnement Pub/Sub¶
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;
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
Connectez-vous à la console Google Cloud Platform en tant qu’éditeur de projet.
Dans le tableau de bord d’accueil, sélectionnez Big Data » Pub/Sub » Subscriptions.
Sélectionnez l’abonnement à configurer pour l’accès.
Dans le coin supérieur droit, sélectionnez SHOW INFO PANEL. Le panneau d’information de l’abonnement s’affiche en coulissant.
Dans le champ Add members, recherchez le nom du compte de service que vous avez enregistré.
Dans la liste déroulante Select a role, sélectionnez Pub/Sub Publisher.
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.