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
}
Copy

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

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",
    }
  }'
Copy

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 Header Content-Type: application/json enthält:

WEBHOOK_HEADERS=('Content-Type'='application/json')
Copy

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

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.