ALTER NOTIFICATION INTEGRATION(ウェブフック)

ウェブフック の既存の通知統合のプロパティを変更します。

こちらもご参照ください。

CREATE NOTIFICATION INTEGRATION(ウェブフック)DESCRIBE INTEGRATIONDROP INTEGRATIONSHOW INTEGRATIONS

構文

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

パラメーター

name

ドロップする統合の識別子を指定します。

識別子にスペースまたは特殊文字が含まれる場合は、文字列全体を二重引用符で囲む必要があります。二重引用符で囲まれた識別子も大文字と小文字が区別されます。

詳細については、 識別子の要件 をご参照ください。

SET ...

サービスに1つ以上のプロパティを設定します。

ENABLED = { TRUE | FALSE }

統合の操作を開始するか、中断するかを指定します。

  • TRUE は、統合を有効にします。

  • FALSE は、メンテナンスのための統合を無効にします。Snowflakeとサードパーティサービス間の統合はいずれも機能しません。

WEBHOOK_URL = 'url'

ウェブフックの URL を指定します。URL は https:// プロトコルを使用する必要があります。

値は URLs としてのみ指定できます。

  • Slackウェブフック用の URLs 。これらの URLs は https://hooks.slack.com/services/ で始まる必要があります。

  • Teams ウェブフック用の URLs 。これらの URLs には、以下の一般的な形式を使用しなければなりません:

    https://<hostname>.webhook.office.com/webhookb2/<path_components>/IncomingWebhook/<path_components>
    
    Copy
  • PagerDuty ウェブフック用の URLs 。この URL は https://events.pagerduty.com/v2/enqueue にする必要があります。

URL にシークレットが含まれ、そのシークレット用のシークレットオブジェクトを 作成した場合 、 URL のそのシークレットを SNOWFLAKE_WEBHOOK_SECRET に置き換えます。例えば、 がSlackのウェブフック URL にシークレット用のシークレットオブジェクトを作成した場合、 WEBHOOK_URL を以下に設定します。

WEBHOOK_URL='https://hooks.slack.com/services/SNOWFLAKE_WEBHOOK_SECRET'
Copy
WEBHOOK_SECRET = secret_name

この統合で使用する シークレットを指定します

WEBHOOK_URL や WEBHOOK_BODY_TEMPLATE、 WEBHOOK_HEADERS で SNOWFLAKE_WEBHOOK_SECRET プレースホルダーを使用している場合、通知を送信する際にプレースホルダーはこのシークレットに置き換えられます。

シークレットオブジェクトを含むデータベースとスキーマが、通知を送信するときにアクティブでない場合、 スキーマ名でシークレット名を修飾するか、データベース名とスキーマ名を修飾します 。例:

WEBHOOK_SECRET = my_secrets_db.my_secrets_schema.my_slack_webhook_secret
Copy

このパラメータを指定するには、シークレット(およびそれを含むデータベースとスキーマ)の USAGE 権限が必要です。

デフォルト: 値なし

WEBHOOK_BODY_TEMPLATE = 'template_for_http_request_body'

通知のために送信する HTTP リクエストのボディのテンプレートを指定します。

ウェブフックが HTTP リクエストのボディに特定の形式(例えば、特定の JSON 形式)を要求する場合、その形式を指定する文字列を設定します。この文字列の中では

  • メッセージにシークレットを含める必要があり、そのシークレット用のシークレットオブジェクトを 作成した場合 、そのシークレットをメッセージに表示する SNOWFLAKE_WEBHOOK_SECRET プレースホルダーを使います。

  • 通知メッセージを含める必要がある場合は、 SNOWFLAKE_WEBHOOK_MESSAGE プレースホルダーを使用してください。

例:

WEBHOOK_BODY_TEMPLATE='{
  "routing_key": "SNOWFLAKE_WEBHOOK_SECRET",
  "event_action": "trigger",
  "payload":
    {
      "summary": "SNOWFLAKE_WEBHOOK_MESSAGE",
      "source": "Snowflake monitoring",
      "severity": "INFO",
    }
  }'
Copy

WEBHOOK_BODY_TEMPLATE を設定した場合は、 Content-Type ヘッダーにメッセージのタイプを含めるために、 WEBHOOK_HEADERS も設定する必要があります。例えば、 WEBHOOK_BODY_TEMPLATE を JSON 形式のテンプレートに設定した場合、 WEBHOOK_HEADERS をヘッダー Content-Type: application/json を含むように設定します。

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

デフォルト: 値なし

WEBHOOK_HEADERS = ( 'header'='value' [ , 'header'='value', ... ] )

ウェブフックの HTTP リクエストに含める HTTP ヘッダーと値のリストを指定します。

HTTP ヘッダーにシークレットを含める必要があり(例えば、 Authorization ヘッダー)、そのシークレットのためのシークレットオブジェクトを 作成した場合 、ヘッダー値の SNOWFLAKE_WEBHOOK_SECRET プレースホルダーを使用します。例:

WEBHOOK_HEADERS=('Authorization'='Basic SNOWFLAKE_WEBHOOK_SECRET')
Copy

デフォルト: 値なし

COMMENT = 'string_literal'

統合のコメントを指定する文字列(リテラル)。

デフォルト: 値なし

UNSET ...

統合の1つ以上のプロパティの設定を解除し、プロパティをデフォルト値にリセットします。

  • ENABLED

  • WEBHOOK_SECRET

  • WEBHOOK_BODY_TEMPLATE

  • WEBHOOK_HEADERS

  • COMMENT

1つの ALTER ステートメントで複数のプロパティまたはパラメーターの設定を解除するには、各プロパティまたはパラメーターをコンマで区切ります。

プロパティまたはパラメーターの設定を解除する場合は、プロパティ名またはパラメーター名のみを指定します(上記の構文で値を指定するように指示されている場合を除く)。値を指定するとエラーが返されます。

アクセス制御の要件

この SQL コマンドの実行に使用される ロール には、少なくとも次の 権限 が必要です。

権限

オブジェクト

メモ

OWNERSHIP

統合

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

シークレット

WEBHOOK_SECRET プロパティをシークレット・オブジェクトに設定する場合、そのシークレット、およびそのシークレットを含むデータベースとスキーマに対して USAGE 権限を持っている必要があります。

指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。

セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。

使用上の注意

  • メタデータについて:

    注意

    Snowflakeサービスを使用する場合、お客様は、個人データ(ユーザーオブジェクト向け以外)、機密データ、輸出管理データ、またはその他の規制されたデータがメタデータとして入力されていないことを確認する必要があります。詳細については、 Snowflakeのメタデータフィールド をご参照ください。