Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Amikor egy Databricks SQL riasztás állapota megváltozik, egy webhook értesítési célpont kap egy JSON-adatcsomagot, amely leírja a riasztást és annak értékelését. Ez az adattartalom-formátum a Databricks SQL-értesítések legújabb verziójára vonatkozik. A régi riasztások más adatstruktúrát használnak.
Important
A riasztási konfigurációk határozzák meg, hogy a payload mely további mezőket tartalmaz. Az érték nélküli mezők kihagyásra kerülnek. Konfiguráld be a webhook vevőt úgy, hogy figyelmen kívül hagyja az ismeretlen mezőket, és kezelje a hiányzó opcionális mezőket.
Payload példa
A következő példa mutatja a riasztás payloadját, amely a(z) TRIGGERED állapotra változott. Az azonosítók, nevek és időbélyegek fiktív példák.
{
"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"
}
}
}
Payload mezők
Az adatcsomag a következő borítékmezőket tartalmazza:
| Mező | Típus | Description |
|---|---|---|
event |
String | Az esemény típusa. Riasztási állapot változásai esetén az érték alert_state_change. |
url_base |
String | A Databricks SQL alap URL-je a workspace-ben. |
alert |
Object | Az értesítés és a riasztás részletei. |
alert.title |
String | A megjelenített egyedi értesítés tárgya. Ez a mező akkor kerül ki, ha a riasztás nem definiál egyéni tárgyat. |
alert.description |
String | A megjelenített egyedi értesítés szövege. Ez a mező akkor nem szerepel, ha a riasztás nem határoz meg egyedi törzset. |
alert.alert |
Object | Egy pillanatkép a riasztásról, amikor az értesítést elküldték. |
A beépített alert.alert objektum a következő mezőket tartalmazhatja:
| Mező | Típus | Description |
|---|---|---|
id |
String | A riasztási erőforrás azonosítója. |
name |
String | A riasztás neve. |
owner |
Object | A riasztás tulajdonosának azonosítója, neve és e-mail címe. Ez a mező akkor kimarad, ha a tulajdonosi adatok nem elérhetők. |
created_at |
Integer | A riasztás létrehozásának ideje, a Unix-epoch óta eltelt milliszekundumokban. |
parent |
String | A figyelmeztetést tartalmazó mappa erőforrásneve. |
query_text |
String | Az SQL lekérdezés, amelyet a riasztás értékel. |
warehouse_id |
String | Az SQL-adattárház azonosítója, amely futtatja a lekérdezést. |
custom_summary |
String | Az egyedi értesítési tárgysablon. Ez a mező akkor marad ki, ha nincs egyéni tárgy konfigurálva. |
custom_description |
String | Az egyedi értesítési üzenettörzs sablonja. Ez a mező el van hagyva, ha egy egyéni törzsüzenet nincs konfigurálva. |
custom_template_format |
String | Az egyedi sablonok formátuma, például HTML vagy MARKDOWN. |
evaluations |
Tömb | A konfigurált értékelési feltételek és azok állapota. Az state érték azt az állapotváltozást tükrözi, amely az értesítést okozta. |
schedule |
Object | A Quartz cron ütemezése, időzónája és szüneteltetett állapota. Ez a mező akkor kimarad, ha a riasztásnak nincs időbeosztása. |
A riasztás konfigurációjától függően a beágyazott objektum a következőket is tartalmazhatja: parameters, genie_analysis_enabled, genie_analysis_custom_prompt és genie_analysis_references.
A evaluations tömb minden objektuma tartalmazhatja a következő mezőket:
| Mező | Típus | Description |
|---|---|---|
id |
String | Az értékelési feltétel azonosítója. |
source |
Object | A lekérdezés eredményoszlopa és aggregációja, amelyet a feltétel kiértékel. |
comparison_operator |
String | Az összehasonlító operátor, például GREATER_THAN, EQUAL, vagy IS_NULL. |
threshold |
Object | Az érték vagy lekérdezés eredményoszlop, amelyhez a forrást hasonlítják össze. |
empty_result_state |
String | Az állapot, amit akkor kell használni, amikor a lekérdezés nem ad vissza sorokat. Ez a mező akkor ki van hagyva, ha a riasztás nem definiál üres eredményállapotot. |
notification |
Object | Az újraaktiválási intervallum, az OK állapot esetén történő értesítés beállítása és az értesítési célazonosítók. |
state |
String | Az értékelési állapot, amely az értesítést okozta: TRIGGERED, OK, vagy ERROR. |
last_evaluated_at |
Integer | Az értékelési idő, milliszekundumokban a Unix-epoch óta. |
last_triggered_at |
Integer | Az utolsó kiváltott idő, milliszekundumokban a Unix korszak óta. Ez a mező akkor hiányzik, ha a riasztás nem aktiválódott. |
Biztosítsd a webhook payloadját
Az adatcsomag érzékeny munkaterületi metaadatokat tartalmazhat, beleértve az SQL-lekérdezést, a riasztás tulajdonosának személyazonosságát és az egyéni értesítési tartalmat. Védd a fogadó végpontot és korlátozd a tárolt payloadokhoz való hozzáférést. Webhook hálózati és hitelesítési lehetőségekhez lásd: Értesítési célpontok kezelése.