Création d’une intégration de notification pour envoyer des notifications à un sujet Microsoft Azure Event Grid¶
Pour envoyer des notifications à une rubrique de Microsoft Azure Event Grid, vous devez créer une intégration de notification pour ce sujet. Pour ce faire :
Note
Cette fonctionnalité est actuellement limitée aux comptes Snowflake hébergés sur Microsoft Azure.
Créer un sujet Event Grid personnalisé¶
Une rubrique Event Grid fournit un point de terminaison où la source envoie des notifications d’événements. Créez un sujet dédié pour recevoir les notifications publiées par Snowflake.
Note
Si vous prévoyez d’utiliser le sujet pour les notifications d’erreurs dans les tâches ou les canaux, vous pouvez utiliser un seul sujet pour les notifications d’erreurs pour toutes les tâches ou tous les canaux.
Pour obtenir des instructions sur la création de rubriques Event Grid, consultez la documentation Event Grid.
Enregistrez le point de terminaison de la rubrique Event Grid, dont vous aurez besoin plus tard dans ces instructions.
Vous pouvez également vous abonner au sujet pour indiquer à Event Grid les événements que vous souhaitez suivre et où envoyer ces événements.
Créer une intégration de notification dans Snowflake¶
Récupérer l’ID du client¶
Récupérez votre ID de client Azure, dont vous aurez besoin plus tard dans ces instructions.
Connectez-vous au portail Microsoft Azure.
Accédez à Azure Active Directory » Properties. Enregistrez la valeur Tenant ID pour référence plus tard. L’ID de répertoire , ou ID de client, est nécessaire pour générer l’URL de consentement qui accorde à Snowflake l’accès à la rubrique Event Grid.
Créer l’intégration des notifications¶
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 Event Grid que vous avez créé.
Lors de l’exécution de la commande, définissez ces paramètres sur les valeurs suivantes :
Définissez AZURE_EVENT_GRID_TOPIC_ENDPOINT sur le point de terminaison du sujet Event Grid que vous avez enregistré précédemment.
Définissez AZURE_TENANT_ID comme étant votre ID client Azure.
Par exemple :
CREATE NOTIFICATION INTEGRATION my_notification_int
ENABLED = TRUE
DIRECTION = OUTBOUND
TYPE = QUEUE
NOTIFICATION_PROVIDER = AZURE_EVENT_GRID
AZURE_EVENT_GRID_TOPIC_ENDPOINT = 'https://myaccount.region-1.eventgrid.azure.net/api/events'
AZURE_TENANT_ID = 'mytenantid';
Accorder un accès à Snowflake au sujet¶
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
:Notez les valeurs des propriétés suivantes :
AZURE_CONSENT_URL
URL vers la page de demande d’autorisations de Microsoft.
AZURE_MULTI_TENANT_APP_NAME
Nom de l’application client Snowflake créée pour votre compte. Plus loin dans cette section, vous devrez accorder à cette application les autorisations nécessaires pour obtenir un jeton d’accès sur votre sujet autorisé.
Dans un navigateur Web, naviguez vers l’URL spécifiée par la propriété AZURE_CONSENT_URL. La page affiche une page de demande d’autorisations Microsoft.
Sélectionnez Accept. Cette action permet au principal du service Azure créé pour votre compte Snowflake d’obtenir un jeton d’accès sur des ressources spécifiées à l’intérieur de votre client. L’obtention d’un jeton d’accès ne réussit que si vous accordez au principal du service les autorisations appropriées sur le conteneur (voir l’étape suivante).
La page de demande d’autorisations Microsoft redirige vers le site d’entreprise de Snowflake (snowflake.com).
Connectez-vous au portail Microsoft Azure.
Accédez à Azure Active Directory » Enterprise applications. Vérifiez que l’identificateur d’application Snowflake que vous avez enregistré précédemment (la valeur de la propriété AZURE_MULTI_TENANT_APP_NAME) est bien dans la liste.
Important
Si vous supprimez l’application Snowflake dans Azure Active Directory plus tard, l’intégration des notifications cesse de fonctionner.
Naviguez jusqu’à Event Grid Topics »
topic_name
, oùtopic_name
est le nom de la rubrique que vous avez créée pour recevoir les notifications d’événements.Sélectionnez Access Control (IAM) » Add role assignment.
Recherchez le principal de service Snowflake. Il s’agit de l’identité de la propriété AZURE_MULTI_TENANT_APP_NAME que vous avez enregistrée plus tôt. Recherchez la chaîne avant le trait de soulignement dans la propriété AZURE_MULTI_TENANT_APP_NAME.
Important
Azure peut prendre une heure ou plus pour créer le principal de service Snowflake demandé via la page de demande Microsoft dans cette section. Si le principal de service n’est pas disponible immédiatement, nous vous recommandons d’attendre une heure ou deux, puis de relancer la recherche.
Si vous supprimez le principal de service, l’intégration de notification cesse de fonctionner.
Accordez à l’application Snowflake l’autorisation EventGrid Data Sender.