SQL alert webhook ペイロード

Databricks SQLアラートの状態が変わると、Webhook通知の宛先はアラートとその評価を説明するJSONペイロードを受け取ります。 このペイロード形式は、最新バージョンのDatabricks SQLアラートに適用されます。 レガシーアラートは 異なるペイロードを使用します。

Important

アラート構成はペイロードに含まれる追加フィールドを決定します。 値のないフィールドは省略されます。 ウェブフックのレシーバーが未知のフィールドを無視し、存在しないオプション フィールドを処理できるように設定してください。

ペイロードの例

以下の例は、 TRIGGERED 状態に変化したアラートのペイロードを示しています。 識別子、名前、タイムスタンプは架空の例です。

{
  "event": "alert_state_change",
  "url_base": "https://<workspace-url>/sql?o=1234567890123456",
  "alert": {
    "title": "Alert \"Daily revenue\" changed status to TRIGGERED",
    "description": "Daily revenue exceeded the configured threshold.",
    "alert": {
      "id": "9876543210987654",
      "name": "Daily revenue",
      "owner": {
        "id": 2468013579246801,
        "name": "Alex Smith",
        "email": "alex.smith@example.com"
      },
      "created_at": 1767225600000,
      "parent": "folders/1357924680135792",
      "query_text": "SELECT SUM(revenue) AS total_revenue FROM main.sales.daily",
      "warehouse_id": "4b9b953939869799",
      "custom_summary": "Alert \"{{ALERT_NAME}}\" changed status to {{ALERT_STATUS}}",
      "custom_description": "Daily revenue exceeded the configured threshold.",
      "evaluations": [
        {
          "id": "9a1f0fc0-7d18-4f42-8ec0-9c1f8e72d3a4",
          "source": {
            "name": "total_revenue",
            "display": "total_revenue",
            "aggregation": "AGGREGATION_UNSPECIFIED"
          },
          "comparison_operator": "GREATER_THAN",
          "threshold": {
            "value": {
              "double_value": 100000.0
            }
          },
          "empty_result_state": "OK",
          "notification": {
            "seconds_to_retrigger": 3600,
            "notify_on_ok": true,
            "subscriptions": [
              {
                "destination_id": "6d1f7e62-a9d4-4b32-b79d-2b1f9f5a6c80"
              }
            ]
          },
          "state": "TRIGGERED",
          "last_evaluated_at": 1767229200000,
          "last_triggered_at": 1767229200000
        }
      ],
      "schedule": {
        "quartz_cron_schedule": "0 0 * * * ?",
        "timezone_id": "UTC",
        "paused": false
      },
      "custom_template_format": "HTML"
    }
  }
}

ペイロード フィールド

ペイロードには以下のエンベロープフィールドが含まれています:

フィールド タイプ Description
event String イベントの種類。 アラート状態の変化については、値は alert_state_changeです。
url_base String ワークスペース内のDatabricks SQLの基本URL。
alert Object 通知とアラートの詳細です。
alert.title String レンダリングされたカスタム通知の件名。 このフィールドは、アラートでカスタム主題が定義されていない場合に省略されます。
alert.description String レンダリング後のカスタム通知本文。 このフィールドは、アラートがカスタムボディを定義していない場合は省略されます。
alert.alert Object 通知が送信された時のアラートのスナップショット。

ネストされた alert.alert オブジェクトには以下のフィールドを含めることができます:

フィールド タイプ Description
id String アラートリソースID。
name String アラート名。
owner Object アラート所有者のID、氏名、メールアドレス。 所有者の詳細がない場合はこの欄は省略されます。
created_at Integer アラート作成時間はUnixエポック以降のミリ秒単位です。
parent String アラートを含むフォルダのリソース名。
query_text String アラートが評価するSQLクエリです。
warehouse_id String クエリを実行するSQLウェアハウスのIDです。
custom_summary String カスタム通知件名テンプレート。 カスタム件名が設定されていない場合、このフィールドは省略されます。
custom_description String カスタム通知本文テンプレート カスタムボディが設定されていない場合、このフィールドは省略されます。
custom_template_format String HTML や MARKDOWN などのカスタムテンプレートの形式。
evaluations Array 設定された評価条件とその状態。 state値は通知を引き起こした状態の変化を反映しています。
schedule Object Quartzのcronスケジュール、タイムゾーン、そして一時停止の状態。 このフィールドはアラートにスケジュールがない場合は省略されます。

アラート構成によっては、ネストされたオブジェクトには parameters、 genie_analysis_enabled、 genie_analysis_custom_prompt、 genie_analysis_referencesも含まれます。

evaluations配列内の各オブジェクトは以下のフィールドを含めることができます:

フィールド タイプ Description
id String 評価条件ID。
source Object 条件によって評価されるクエリ結果の列と集計
comparison_operator String 比較演算子は GREATER_THAN、 EQUAL、 IS_NULLなどです。
threshold Object ソースの比較対象となる値またはクエリ結果の列です。
empty_result_state String クエリが行を返さない場合に使う状態。 このフィールドは、アラートが空の結果状態を定義していない場合は省略されます。
notification Object 再トリガー間隔、notify-on-OK設定、通知先ID
state String 通知の原因となった評価状態は TRIGGERED、 OK、または ERRORです。
last_evaluated_at Integer 評価時間はUnixエポック以降のミリ秒単位です。
last_triggered_at Integer 最後にトリガーされた時間は、Unixエポック以降のミリ秒単位です。 このフィールドはアラートが発動していない場合に省略されます。

ウェブフックペイロードの保護

ペイロードにはSQLクエリ、アラート所有者のアイデンティティ、カスタム通知コンテンツなどの機密ワークスペースメタデータが含まれることがあります。 受信端を保護し、保存されたペイロードへのアクセスを制限します。 ウェブフックのネットワークおよび認証オプションについては、通知宛先の管理をご覧ください。