Erstellen einer Benachrichtigungsintegration zum Senden von Benachrichtigungen an ein Microsoft Azure Event Grid-Thema¶
Um Benachrichtigungen an ein Microsoft Azure Event Grid-Thema zu senden, müssen Sie eine Benachrichtigungsintegration für dieses Thema erstellen. Gehen Sie dabei wie folgt vor:
Bemerkung
Dieses Feature ist derzeit auf Snowflake-Konten beschränkt, die auf Microsoft Azure gehostet werden.
Erstellen Sie ein kundenspezifisches Event Grid-Thema.¶
Ein Event Grid-Thema stellt einen Endpunkt bereit, an den die Quelle Ereignisbenachrichtigungen sendet. Erstellen Sie ein dediziertes Thema, um von Snowflake veröffentlichte Benachrichtigungen zu erhalten.
Bemerkung
Wenn Sie planen, das Thema für Benachrichtigungen über Fehler in Aufgaben oder Pipes zu verwenden, können Sie ein einziges Thema für Fehlerbenachrichtigungen für alle Aufgaben oder Pipes verwenden.
Eine Anleitung zum Erstellen von Event Grid-Themen finden Sie in der Event Grid-Dokumentation.
Notieren Sie sich den Endpunkt des Event Grid-Themas, den Sie später in dieser Anleitung benötigen werden.
Abonnieren Sie optional das Thema, um Event Grid mitzuteilen, welche Ereignisse Sie verfolgen möchten und wohin diese Ereignisse gesendet werden sollen.
Benachrichtigungsintegration in Snowflake erstellen¶
Mandanten-ID abrufen¶
Rufen Sie Ihre Azure-Mandanten-ID ab, die Sie später in dieser Anleitung benötigen.
Melden Sie sich beim Microsoft Azure-Portal an.
Navigieren Sie zu Azure Active Directory » Properties. Notieren Sie den Wert Tenant ID zum späteren Verweisen. Die Verzeichnis-ID oder Mandanten-ID wird benötigt, um die Zustimmungs-URL zu generieren, die Snowflake Zugriff auf das Event Grid-Thema gewährt.
Benachrichtigungsintegration erstellen¶
Führen Sie den Befehl CREATE NOTIFICATION INTEGRATION aus, um eine Benachrichtigungsintegration zu erstellen. Eine Integration ist ein Snowflake-Objekt, das auf das von Ihnen erstellte Event Grid-Thema verweist.
Wenn Sie den Befehl ausführen, legen Sie diese Parameter auf die folgenden Werte fest:
Setzen Sie AZURE_EVENT_GRID_TOPIC_ENDPOINT auf den zuvor notierten Endpunkt des Event Grid-Themas.
Setzen Sie AZURE_TENANT_ID auf Ihre Azure-Mandanten-ID.
Beispiel:
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';
Snowflake Zugriff auf das Thema gewähren¶
Führen Sie den Befehl DESCRIBE INTEGRATION aus, um die Eigenschaften der Benachrichtigungsintegration anzuzeigen, die Sie gerade erstellt haben.
So zeigen Sie beispielsweise die Eigenschaften der Benachrichtigungsintegration namens
my_notification_int
an:Notieren Sie sich die Werte der folgenden Eigenschaften:
AZURE_CONSENT_URL
URL der Microsoft-Berechtigungsanforderungsseite.
AZURE_MULTI_TENANT_APP_NAME
Name der Snowflake-Clientanwendung, die für Ihr Konto erstellt wurde. In einem späteren Schritt in dieser Anleitung müssen Sie der Anwendung die erforderlichen Berechtigungen erteilen, um ein Zugriffstoken für die zulässigen Themen zu erhalten.
Navigieren Sie in einem Webbrowser zu der in der Eigenschaft AZURE_CONSENT_URL angegebenen URL. Es wird eine Microsoft-Berechtigungsanfrageseite angezeigt.
Wählen Sie Accept aus. Mit dieser Aktion kann dem Azure-Dienstprinzipal, der für Ihr Snowflake-Konto erstellt wurde, ein Zugriffstoken für die angegebenen Ressourcen in Ihrem Mandantenbereich zugewiesen werden. Das Abrufen eines Zugriffstokens ist nur erfolgreich, wenn Sie dem Dienstprinzipal die entsprechenden Berechtigungen für den Container erteilen (siehe nächster Schritt).
Die Microsoft-Berechtigungsanforderungsseite leitet auf die Snowflake-Firmenwebsite (snowflake.com) um.
Melden Sie sich beim Microsoft Azure-Portal an.
Navigieren Sie zu Azure Active Directory » Enterprise applications. Überprüfen Sie, ob der Bezeichner der Snowflake-Anwendung, den Sie zuvor notiert haben (der Wert der Eigenschaft AZURE_MULTI_TENANT_APP_NAME), aufgeführt ist.
Wichtig
Wenn Sie die Snowflake-Anwendung zu einem anderen Zeitpunkt in Azure Active Directory löschen, funktioniert die Benachrichtigungsintegration nicht mehr.
Navigieren Sie zu Event Grid Topics »
topic_name
, wobeitopic_name
der Name des Themas ist, das Sie für den Empfang von Ereignisbenachrichtigungen erstellt haben.Wählen Sie Access Control (IAM) » Add role assignment aus.
Suchen Sie nach dem Snowflake-Dienstprinzipal. Dies ist die Identität in der Eigenschaft AZURE_MULTI_TENANT_APP_NAME, die Sie zuvor notiert haben. Suchen Sie in der Eigenschaft AZURE_MULTI_TENANT_APP_NAME nach der Zeichenfolge vor dem Unterstrich.
Wichtig
Es kann eine Stunde oder länger dauern, bis Azure den über die oben genannte Microsoft-Anforderungsseite angeforderten Snowflake-Dienstprinzipal erstellt hat. Wenn der Dienstprinzipal nicht sofort verfügbar ist, empfehlen wir, ein bis zwei Stunden zu warten und ihn dann erneut zu suchen.
Wenn Sie den Dienstprinzipal löschen, funktioniert die Benachrichtigungsintegration nicht mehr.
Erteilen Sie der Snowflake-Anwendung die Berechtigung EventGrid Data Sender.