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:

  1. Erstellen Sie ein kundenspezifisches Event Grid-Thema.

  2. Erstellen Sie eine Benachrichtigungsintegration.

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.

  1. Melden Sie sich beim Microsoft Azure-Portal an.

  2. 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:

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

Snowflake Zugriff auf das Thema gewähren

  1. 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:

  2. 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.

  3. Navigieren Sie in einem Webbrowser zu der in der Eigenschaft AZURE_CONSENT_URL angegebenen URL. Es wird eine Microsoft-Berechtigungsanfrageseite angezeigt.

  4. 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.

  5. Melden Sie sich beim Microsoft Azure-Portal an.

  6. 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.

  7. Navigieren Sie zu Event Grid Topics » topic_name, wobei topic_name der Name des Themas ist, das Sie für den Empfang von Ereignisbenachrichtigungen erstellt haben.

  8. Wählen Sie Access Control (IAM) » Add role assignment aus.

  9. 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.

  10. Erteilen Sie der Snowflake-Anwendung die Berechtigung EventGrid Data Sender.