ALTER NOTIFICATION INTEGRATION (Webhooks)¶
Ändert die Eigenschaften für eine bestehende Benachrichtigungsintegration für einen Webhook.
- Siehe auch:
CREATE NOTIFICATION INTEGRATION (Webhooks) , DESCRIBE INTEGRATION , DROP INTEGRATION , SHOW INTEGRATIONS
Syntax¶
ALTER [ NOTIFICATION ] INTEGRATION [ IF EXISTS ] <name> SET
[ ENABLED = { TRUE | FALSE } ]
[ WEBHOOK_URL = '<url>' ]
[ WEBHOOK_SECRET = <secret_name> ]
[ WEBHOOK_BODY_TEMPLATE = '<template_for_http_request_body>' ]
[ WEBHOOK_HEADERS = ( '<header_1>'='<value_1>' [ , '<header_N>'='<value_N>', ... ] ) ]
[ COMMENT = '<string_literal>' ]
ALTER [ NOTIFICATION ] INTEGRATION [ IF EXISTS ] <name> UNSET {
ENABLED |
WEBHOOK_SECRET |
WEBHOOK_BODY_TEMPLATE |
WEBHOOK_HEADERS |
COMMENT
}
Parameter¶
name
Gibt den Bezeichner für die zu ändernde Integration an.
Wenn der Bezeichner Leerzeichen oder Sonderzeichen enthält, muss die gesamte Zeichenfolge in doppelte Anführungszeichen gesetzt werden. Bei Bezeichnern, die in doppelte Anführungszeichen eingeschlossen sind, ist auch die Groß- und Kleinschreibung zu beachten.
Weitere Informationen dazu finden Sie unter Anforderungen an Bezeichner.
SET ...
Legt eine oder mehrere Eigenschaften für die Integration fest:
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.
WEBHOOK_URL = 'url'
Gibt die URL für den Webhook an. Die URL muss das Protokoll
https://
verwenden.Sie können nur die folgenden URLs angeben:
URLs für Slack-Webhooks. Diese URLs müssen mit
https://hooks.slack.com/services/
beginnen.URLs für Teams-Webhooks. Diese URLs müssen das folgende allgemeine Format verwenden:
https://<hostname>.webhook.office.com/webhookb2/<path_components>/IncomingWebhook/<path_components>
URLs für PagerDuty-Webhooks. Diese URL muss
https://events.pagerduty.com/v2/enqueue
sein.
Wenn die URL ein Geheimnis enthält und Sie ein geheimes Objekt für dieses Geheimnis erstellt haben, ersetzen Sie dieses Geheimnis in der URL durch SNOWFLAKE_WEBHOOK_SECRET. Wenn Sie zum Beispiel ein geheimes Objekt für das Geheimnis in einem Slack-Webhook URL erstellt haben, setzen Sie WEBHOOK_URL auf:
WEBHOOK_URL='https://hooks.slack.com/services/SNOWFLAKE_WEBHOOK_SECRET'
WEBHOOK_SECRET = secret_name
Gibt das Geheimnis an, das mit dieser Integration zu verwenden ist.
Wenn Sie den Platzhalter SNOWFLAKE_WEBHOOK_SECRET in WEBHOOK_URL, WEBHOOK_BODY_TEMPLATE oder WEBHOOK_HEADERS verwenden, wird der Platzhalter durch dieses Geheimnis ersetzt, wenn Sie eine Benachrichtigung senden.
Wenn die Datenbank und das Schema, die das geheime Objekt enthalten, nicht aktiv sind, wenn Sie eine Benachrichtigung senden, qualifizieren Sie den Geheimnisnamen mit dem Schemanamen oder den Datenbank- und Schemanamen. Beispiel:
WEBHOOK_SECRET = my_secrets_db.my_secrets_schema.my_slack_webhook_secret
Sie müssen über die USAGE-Berechtigung für das Geheimnis (und die Datenbank und das Schema, die es enthalten) verfügen, um diesen Parameter anzugeben.
Standard: Kein Wert
WEBHOOK_BODY_TEMPLATE = 'template_for_http_request_body'
Gibt eine Vorlage für den Body der HTTP-Anfrage an, die für die Benachrichtigung gesendet werden soll.
Wenn der Webhook ein bestimmtes Format für den Text der HTTP-Anfrage verlangt (z. B. ein bestimmtes JSON-Format), setzen Sie dies auf eine Zeichenfolge, die das Format angibt. In dieser Zeichenfolge:
Wenn die Meldung ein Geheimnis enthalten muss und Sie ein geheimes Objekt für dieses Geheimnis erstellt haben, verwenden Sie den Platzhalter SNOWFLAKE_WEBHOOK_SECRET an der Stelle, an der das Geheimnis in der Meldung angezeigt werden soll.
Verwenden Sie den Platzhalter SNOWFLAKE_WEBHOOK_MESSAGE an der Stelle, an der die Benachrichtigung eingefügt werden soll.
Beispiel:
WEBHOOK_BODY_TEMPLATE='{ "routing_key": "SNOWFLAKE_WEBHOOK_SECRET", "event_action": "trigger", "payload": { "summary": "SNOWFLAKE_WEBHOOK_MESSAGE", "source": "Snowflake monitoring", "severity": "INFO", } }'
Wenn Sie WEBHOOK_BODY_TEMPLATE festlegen, müssen Sie auch WEBHOOK_HEADERS festlegen, um den Header
Content-Type
mit dem Typ Ihrer Meldung einzuschließen. Wenn Sie zum Beispiel für WEBHOOK_BODY_TEMPLATE eine Vorlage im JSON-Format, stellen Sie WEBHOOK_HEADERS so ein, dass es den HeaderContent-Type: application/json
enthält:WEBHOOK_HEADERS=('Content-Type'='application/json')
Standard: Kein Wert
WEBHOOK_HEADERS = ( 'header'='value' [ , 'header'='value', ... ] )
Gibt eine Liste von HTTP-Headern und -Werten an, die in die HTTP-Anfrage für den Webhook aufgenommen werden sollen.
Wenn ein HTTP-Header ein Geheimnis enthalten muss (zum Beispiel der
Authorization
-Header) und Sie ein geheimes Objekt für dieses Geheimnis erstellt haben, verwenden Sie den SNOWFLAKE_WEBHOOK_SECRET-Platzhalter im Header-Wert. Beispiel:WEBHOOK_HEADERS=('Authorization'='Basic SNOWFLAKE_WEBHOOK_SECRET')
Standard: Kein Wert
COMMENT = 'string_literal'
Zeichenfolge (Literal), die einen Kommentar zur Integration enthält.
Standard: Kein Wert
UNSET ...
Hebt eine oder mehrere Eigenschaften für die Integration auf, wodurch die Eigenschaften auf ihre Standardwerte zurückgesetzt werden:
ENABLED
WEBHOOK_SECRET
WEBHOOK_BODY_TEMPLATE
WEBHOOK_HEADERS
COMMENT
Um mehrere Eigenschaften oder Parameter mit einer einzigen ALTER-Anweisung zurückzusetzen, trennen Sie jede Eigenschaft oder jeden Parameter durch ein Komma.
Wenn Sie eine Eigenschaft oder einen Parameter zurücksetzen, geben Sie nur den Namen der Eigenschaft oder des Parameters an (es sei denn, die obige Syntax weist darauf hin, dass Sie den Wert angeben sollten). Die Angabe des Wertes gibt einen Fehler zurück.
Anforderungen an die Zugriffssteuerung¶
Eine Rolle, die zur Ausführung dieses SQL-Befehls verwendet wird, muss mindestens die folgenden Berechtigungen haben:
Berechtigung |
Objekt |
Anmerkungen |
---|---|---|
OWNERSHIP |
Integration |
OWNERSHIP is a special privilege on an object that is automatically granted to the role that created the object, but can also be transferred using the GRANT OWNERSHIP command to a different role by the owning role (or any role with the MANAGE GRANTS privilege). |
USAGE |
Geheimnis |
Wenn Sie die Eigenschaft WEBHOOK_SECRET auf ein geheimes Objekt festlegen, müssen Sie die USAGE-Berechtigung für dieses Geheimnis sowie für die Datenbank und das Schema haben, die dieses Geheimnis enthalten. |
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 Übersicht zur Zugriffssteuerung.
Nutzungshinweise¶
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.