Payload webhook peringatan SQL

Ketika peringatan SQL Databricks berubah status, tujuan notifikasi webhook menerima payload JSON yang menjelaskan peringatan dan evaluasinya. Format payload ini berlaku untuk versi terbaru dari peringatan SQL Databricks. alert lawas menggunakan payload yang berbeda.

Important

Konfigurasi peringatan menentukan kolom tambahan apa yang termasuk dalam payload. Bidang tanpa nilai akan dihilangkan. Konfigurasikan penerima webhook Anda untuk mengabaikan kolom yang tidak dikenal dan menangani kolom opsional yang hilang.

Contoh payload

Contoh berikut menunjukkan payload untuk peringatan yang berubah ke status TRIGGERED. Identifier, nama, dan stempel waktu adalah contoh fiksi.

{
  "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"
    }
  }
}

Field payload

Payload berisi bidang envelope berikut:

Field Tipe Description
event String Jenis kejadian. Untuk perubahan status peringatan, nilainya adalah alert_state_change.
url_base String URL dasar untuk Databricks SQL di workspace.
alert Object Detail notifikasi dan peringatan.
alert.title String Subjek notifikasi kustom yang ditampilkan. Kolom ini dihilangkan ketika peringatan tidak mendefinisikan subjek khusus.
alert.description String Isi notifikasi kustom yang ditampilkan. Kolom ini dihilangkan ketika peringatan tidak mendefinisikan isi khusus.
alert.alert Object Cuplikan peringatan saat notifikasi dikirim.

Objek bersarang alert.alert dapat berisi bidang-bidang berikut:

Field Tipe Description
id String ID sumber daya peringatan.
name String Nama pemberitahuan.
owner Object ID, nama, dan alamat email pemilik peringatan. Kolom ini dihilangkan ketika detail pemilik tidak tersedia.
created_at Integer Waktu pembuatan peringatan, dalam milidetik sejak epoch Unix.
parent String Nama sumber daya dari folder yang berisi peringatan.
query_text String Kueri SQL yang dievaluasi alert.
warehouse_id String ID dari gudang SQL yang menjalankan kueri.
custom_summary String Templat subjek email untuk notifikasi khusus. Kolom ini dihilangkan jika subjek kustom belum dikonfigurasi.
custom_description String Template isi notifikasi khusus. Kolom ini dihilangkan ketika body kustom tidak dikonfigurasi.
custom_template_format String Format template kustom, seperti HTML atau MARKDOWN.
evaluations Array Kondisi evaluasi yang dikonfigurasi dan statusnya. Nilai state tersebut mencerminkan perubahan keadaan yang menyebabkan notifikasi.
schedule Object Jadwal cron Quartz, zona waktu, dan status pause. Kolom ini dihilangkan ketika peringatan tidak memiliki jadwal.

Tergantung pada konfigurasi peringatan, objek bersarang juga dapat mencakup parameters, genie_analysis_enabled, genie_analysis_custom_prompt, dan genie_analysis_references.

Setiap objek dalam evaluations array dapat berisi bidang-bidang berikut:

Field Tipe Description
id String ID syarat evaluasi.
source Object Kolom hasil kueri dan agregasi yang dievaluasi kondisi tersebut.
comparison_operator String Operator perbandingan, seperti GREATER_THAN, EQUAL, atau IS_NULL.
threshold Object Nilai atau kolom hasil kueri yang menjadi pembanding bagi sumber.
empty_result_state String Status yang digunakan ketika kueri tidak mengembalikan baris apapun. Kolom ini dihilangkan ketika peringatan tidak mendefinisikan status hasil kosong.
notification Object Interval pemicu ulang, pengaturan notify-on-OK, dan ID tujuan notifikasi.
state String Status evaluasi yang menyebabkan notifikasi: TRIGGERED, OK, atau ERROR.
last_evaluated_at Integer Waktu evaluasi, dalam milidetik sejak epoch Unix.
last_triggered_at Integer Waktu terakhir yang terpicu, dalam milidetik sejak epoch Unix. Kolom ini dihilangkan ketika peringatan belum terpicu.

Amankan payload webhook

Payload dapat berisi metadata workspace yang sensitif, termasuk kueri SQL, identitas pemilik peringatan, dan konten notifikasi khusus. Lindungi endpoint penerima dan batasi akses ke payload yang tersimpan. Untuk opsi jaringan dan autentikasi webhook, lihat Kelola tujuan notifikasi.