CREATE NOTIFICATION INTEGRATION

Erstellt eine neue Benachrichtigungsintegration im Konto oder ersetzt eine vorhandene Integration. Eine Benachrichtigungsintegration ist ein Snowflake-Objekt, das als Schnittstelle zwischen Snowflake und Messagingdiensten (Cloud-Meldungswarteschlangendienste, E-Mail-Dienste usw.) von Drittanbietern dient.

Siehe auch:

ALTER NOTIFICATION INTEGRATION, DROP INTEGRATION, SHOW INTEGRATIONS

Features

Die Benachrichtigungsintegration ist integraler Bestandteil der folgenden Features pro Cloudspeicherdienst und E-Mail-Dienst:

Amazon Web Services (AWS)

Push-Benachrichtigungen:

E-Mail-Benachrichtigungen:

Google Cloud (GCP)

Automatisches Laden von Daten oder Aktualisieren von Metadaten:

Push-Benachrichtigungen:

Microsoft Azure (Azure)

Automatisches Laden von Daten oder Aktualisieren von Metadaten:

Push-Benachrichtigungen:

Syntax

Automatisches Laden von Daten oder Aktualisieren von Metadaten

CREATE [ OR REPLACE ] NOTIFICATION INTEGRATION [IF NOT EXISTS]
  <name>
  ENABLED = { TRUE | FALSE }
  TYPE = QUEUE
  cloudProviderParamsAuto
  [ COMMENT = '<string_literal>' ]

Wobei:

cloudProviderParamsAuto (for Google Cloud Storage) ::=
  NOTIFICATION_PROVIDER = GCP_PUBSUB
  GCP_PUBSUB_SUBSCRIPTION_NAME = '<subscription_id>'
cloudProviderParamsAuto (for Microsoft Azure Storage) ::=
  NOTIFICATION_PROVIDER = AZURE_EVENT_GRID
  AZURE_STORAGE_QUEUE_PRIMARY_URI = '<queue_URL>'
  AZURE_TENANT_ID = '<directory_ID>';

Push-Benachrichtigungen

CREATE [ OR REPLACE ] NOTIFICATION INTEGRATION [IF NOT EXISTS]
  <name>
  ENABLED = { TRUE | FALSE }
  DIRECTION = OUTBOUND
  TYPE = QUEUE
  cloudProviderParamsPush
  [ COMMENT = '<string_literal>' ]

Wobei:

cloudProviderParamsPush (for Amazon SNS) ::=

  NOTIFICATION_PROVIDER = AWS_SNS
  AWS_SNS_TOPIC_ARN = '<topic_arn>'
  AWS_SNS_ROLE_ARN = '<iam_role_arn>'
cloudProviderParamsPush (for Google Pub/Sub) ::=
  NOTIFICATION_PROVIDER = GCP_PUBSUB
  GCP_PUBSUB_TOPIC_NAME = '<topic_id>'
cloudProviderParamsPush (for Microsoft Azure Event Grid) ::=
  NOTIFICATION_PROVIDER = AZURE_EVENT_GRID
  AZURE_EVENT_GRID_TOPIC_ENDPOINT = '<event_grid_topic_endpoint>'
  AZURE_TENANT_ID = '<directory_ID>';

E-Mail-Benachrichtigungen

CREATE [ OR REPLACE ] NOTIFICATION INTEGRATION [IF NOT EXISTS]
  <name>
  TYPE = EMAIL
  ENABLED = { TRUE | FALSE }
  ALLOWED_RECIPIENTS = ( '<email_address_1>' [ , ... '<email_address_N>' ] )
  [ COMMENT = '<string_literal>' ]

Erforderliche Parameter

name

Zeichenfolge, die den Bezeichner (d. h. den Namen) für die Integration angibt. Muss in Ihrem Konto eindeutig sein.

Darüber hinaus muss der Bezeichner mit einem Buchstaben beginnen und darf keine Leer- oder Sonderzeichen enthalten, es sei denn, die gesamte Bezeichnerzeichenfolge wird in doppelte Anführungszeichen gesetzt (z. B. "My object"). Bei Bezeichnern, die in doppelte Anführungszeichen eingeschlossen sind, ist auch die Groß-/Kleinschreibung zu beachten.

Weitere Details dazu finden Sie unter Anforderungen an Bezeichner.

ENABLED = { TRUE | FALSE }

Gibt an, ob die Integrationsoperation gestartet oder angehalten werden soll.

  • TRUE aktiviert die Integration.

  • FALSE deaktiviert die Integration für Wartungszwecke. Eine Integration zwischen Snowflake und einem Drittanbieterdienst funktioniert nicht.

TYPE = QUEUE | EMAIL

Geben Sie den Typ der Integration an:

  • QUEUE: Erstellt eine Schnittstelle zwischen Snowflake und dem Cloud-Nachrichtenwarteschlangendienst eines Drittanbieters.

  • EMAIL: Erstellt eine Schnittstelle zwischen Snowflake und dem E-Mail-Dienst eines Drittanbieters.

    Sie können maximal 10 E-Mail-Benachrichtigungsintegrationen pro Konto definieren.

Optionale Parameter

DIRECTION = OUTBOUND

(bei Push-Benachrichtigungen mit TYPE = QUEUE) Richtung für das Cloudmessaging in Bezug auf Snowflake. Nur erforderlich bei der Konfiguration von Push-Benachrichtigungen an einen Cloudmessagingdienst.

OUTBOUND: Gibt an, dass Snowflake die an den Cloudmessagingdienst gesendete Benachrichtigung erstellt.

ALLOWED_RECIPIENTS=('email_address_1' [, ... 'email_address_N'])

(bei TYPE = EMAIL) Eine durch Kommas getrennte Liste von in Anführungszeichen geschriebenen E-Mail-Adressen, die E-Mail-Benachrichtigungen von dieser Integration erhalten können.

Dabei muss es sich um E-Mail-Adressen von Benutzern des aktuellen Kontos handeln. Diese E-Mail-Adressen müssen verifiziert sein.

Die maximale Anzahl von E-Mail-Adressen, die Sie angeben können, ist 50.

COMMENT = 'string_literal'

Zeichenfolge (Literal), die einen Kommentar zur Integration enthält.

Standard: Kein Wert

Cloudanbieterparameter für automatisches Laden von Daten oder Aktualisieren von Metadaten (cloudProviderParamsAuto)

Google Cloud Storage

NOTIFICATION_PROVIDER = GCP_PUBSUB

Gibt Google Cloud Pub/Sub als Cloud-Meldungswarteschlangendienst eines Drittanbieters an.

GCP_PUBSUB_SUBSCRIPTION_NAME = '<subscription_id>'

Pub/Sub-Themenabonnement-ID, mit der Snowflake auf Ereignismeldungen zugreifen kann.

Bemerkung

Eine einzelne Benachrichtigungsintegration unterstützt genau ein Google Cloud Pub/Sub-Abonnement. Wenn mehrere Benachrichtigungsintegrationen auf dasselbe Pub/Sub-Abonnement verweisen, kann dies zu fehlenden Daten in den Zieltabellen führen, da Ereignisbenachrichtigungen zwischen Benachrichtigungsintegrationen aufgeteilt werden.

Microsoft Azure Storage

NOTIFICATION_PROVIDER = AZURE_EVENT_GRID

Gibt Microsoft Azure Event Grid als Cloud-Nachrichtenwarteschlangendienst eines Drittanbieters an.

AZURE_STORAGE_QUEUE_PRIMARY_URI = 'https://storage_queue_account.queue.core.windows.net/storage_queue_name'

Gibt die Warteschlangen-ID der Azure Queue Storage-Warteschlange an, die für Event Grid-Benachrichtigungen erstellt wurde.

Bemerkung

Eine einzelne Benachrichtigungsintegration unterstützt genau eine Azure Storage-Warteschlange. Wenn mehrere Benachrichtigungsintegrationen auf dieselbe Speicherwarteschlange verweisen, kann dies zu fehlenden Daten in den Zieltabellen führen, da Ereignisbenachrichtigungen zwischen Benachrichtigungsintegrationen aufgeteilt werden.

AZURE_TENANT_ID = 'ad_directory_id'

Gibt die ID des Azure Active Directory-Mandanten an, der für die Identitätsverwaltung verwendet wird. Diese ID wird benötigt, um die Zustimmungs-URL zu generieren, die Snowflake Zugriff auf das Event Grid-Abonnement gewährt.

Cloudanbieterparameter für Push-Benachrichtigungen (cloudProviderParamsPush)

Amazon Simple Notification Service

NOTIFICATION_PROVIDER = AWS_SNS

Gibt Amazon Simple Notification Service (SNS) als Cloud-Meldungswarteschlangendienst eines Drittanbieters an.

AWS_SNS_TOPIC_ARN = '<topic_arn>'

Amazon Resource Name (ARN) des Amazon SNS (SNS)-Themas, an das Benachrichtigungen gesendet werden.

AWS_SNS_ROLE_ARN = '<iam_role_arn>'

ARN der IAM-Rolle, die die Berechtigung hat, Meldungen im SNS-Thema zu veröffentlichen.

Google Pub/Sub

NOTIFICATION_PROVIDER = GCP_PUBSUB

Gibt Google Cloud Pub/Sub als Cloud-Meldungswarteschlangendienst eines Drittanbieters an.

GCP_PUBSUB_TOPIC_NAME = '<topic_id>'

Identifizierung des Pub/Sub-Themas, an das Snowpipe Benachrichtigungen sendet.

Microsoft Azure Event Grid

NOTIFICATION_PROVIDER = AZURE_EVENT_GRID

Gibt Microsoft Azure Event Grid als Cloud-Nachrichtenwarteschlangendienst eines Drittanbieters an.

AZURE_EVENT_GRID_TOPIC_ENDPOINT = '<event_grid_topic_endpoint>'

Endpunkt des Event Grid-Themas, an das Snowpipe Benachrichtigungen sendet.

AZURE_TENANT_ID = 'ad_directory_id'

ID des Azure Active Directory-Mandanten, der für die Identitätsverwaltung verwendet wird. Diese ID wird benötigt, um die Zustimmungs-URL zu generieren, die Snowflake Zugriff auf das Event Grid-Thema gewährt.

Anforderungen an die Zugriffssteuerung

Eine Rolle, die zur Ausführung dieses SQL-Befehls verwendet wird, muss mindestens die folgenden Berechtigungen haben:

Berechtigung

Objekt

Anmerkungen

CREATE INTEGRATION

Konto

Only the ACCOUNTADMIN role has this privilege by default. The privilege can be granted to additional roles as needed.

Eine Anleitung zum Erstellen einer kundenspezifischen Rolle mit einer bestimmten Gruppe von Berechtigungen finden Sie unter Erstellen von kundenspezifischen Rollen.

Allgemeine Informationen zu Rollen und Berechtigungen zur Durchführung von SQL-Aktionen auf sicherungsfähigen Objekten finden Sie unter Zugriffssteuerung in Snowflake.

Nutzungshinweise

  • Das Erstellen einer einzelnen Benachrichtigungsintegration für mehrere Microsoft Azure Storage-Warteschlangen oder Google Cloud Pub/Sub-Abonnements wird nicht unterstützt.

  • Das Verwenden derselben Microsoft Azure Storage-Warteschlange oder desselben Google Cloud Pub/Sub-Abonnements für mehrere Benachrichtigungsintegrationen wird nicht unterstützt.

  • Hinweis zu Metadaten:

    Achtung

    Kunden müssen sicherstellen, dass bei der Nutzung des Snowflake-Dienstes keine personenbezogenen Daten (außer für ein Objekt „Benutzer“), sensible Daten, exportkontrollierte Daten oder andere regulierte Daten als Metadaten eingegeben werden. Weitere Informationen dazu finden Sie unter Metadatenfelder in Snowflake.

  • CREATE OR REPLACE <Objekt>-Anweisungen sind atomar. Das heißt, wenn das Objekt ersetzt wird, werden die Löschung des alten Objekts und die Erstellung des neuen Objekts in einer einzigen Transaktion verarbeitet.

Beispiele

Beispiele speziell für Snowflake-Features finden Sie unter den Themen, auf die in Features (unter diesem Thema) verwiesen wird.

Zurück zum Anfang