Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wenn ein Databricks-SQL-Alarm den Zustand ändert, erhält ein Webhook-Benachrichtigungsziel eine JSON-Nutzlast, die den Alarm und seine Auswertung beschreibt. Dieses Payload-Format gilt für die neueste Version der Databricks SQL-Alerts. Legacy-Warnungen verwenden eine andere Payload.
Important
Alarmkonfigurationen bestimmen, welche zusätzlichen Felder die Payload enthält. Felder ohne Werte werden weggelassen. Konfigurieren Sie Ihren Webhook-Empfänger so, dass er unbekannte Felder ignoriert und mit fehlenden optionalen Feldern umgeht.
Payload-Beispiel
Das folgende Beispiel zeigt die Payload einer Warnung, die zum Zustand TRIGGERED geändert wurde. Identifikatoren, Namen und Zeitstempel sind fiktive Beispiele.
{
"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"
}
}
}
Nutzlastfelder
Die Nutzlast enthält folgende Envelope-Felder:
| Feld | Typ | Description |
|---|---|---|
event |
String | Der Ereignistyp. Für Änderungen des Warnzustands ist der Wert alert_state_change. |
url_base |
String | Die Basis-URL für Databricks SQL im Arbeitsbereich. |
alert |
Object | Die Benachrichtigungs- und Warnungsdetails. |
alert.title |
String | Der gerenderte benutzerdefinierte Benachrichtigungsbetreff. Dieses Feld wird weggelassen, wenn der Alarm keinen benutzerdefinierten Betreff definiert. |
alert.description |
String | Der gerenderte benutzerdefinierte Benachrichtigungsinhalt. Dieses Feld wird weggelassen, wenn die Warnung keinen benutzerdefinierten Text definiert. |
alert.alert |
Object | Ein Schnappschuss der Warnung, als die Benachrichtigung gesendet wurde. |
Das verschachtelte alert.alert Objekt kann folgende Felder enthalten:
| Feld | Typ | Description |
|---|---|---|
id |
String | Die Alarm-Ressourcen-ID. |
name |
String | Der Name der Warnung. |
owner |
Object | Die ID, der Name und die E-Mail-Adresse des Benachrichtigungsbesitzers. Dieses Feld wird weggelassen, wenn Angaben zum Besitzer nicht verfügbar sind. |
created_at |
Integer | Die Alarmerstellungszeit, in Millisekunden seit der Unix-Epoche. |
parent |
String | Der Ressourcenname des Ordners, der die Warnung enthält. |
query_text |
String | Die SQL-Abfrage, die der Alarm auswertet. |
warehouse_id |
String | Die ID des SQL-Warehouses, das die Abfrage ausführt. |
custom_summary |
String | Die Vorlage für den individuellen Benachrichtigungsbetreff. Dieses Feld wird weggelassen, wenn ein benutzerdefinierter Betreff nicht konfiguriert ist. |
custom_description |
String | Die benutzerdefinierte Vorlage für den Benachrichtigungstext. Dieses Feld wird weggelassen, wenn kein benutzerdefinierter Body konfiguriert ist. |
custom_template_format |
String | Das Format der benutzerdefinierten Vorlagen, wie HTML oder MARKDOWN. |
evaluations |
Array | Die konfigurierten Bewertungsbedingungen und deren Zustand. Der Wert state spiegelt die Zustandsänderung wider, die die Benachrichtigung verursacht hat. |
schedule |
Object | Der Quartz Cron Zeitplan, Zeitzone und pausierter Zustand. Dieses Feld wird weggelassen, wenn der Alarm keinen Zeitplan hat. |
Je nach Alarmkonfiguration kann das verschachtelte Objekt auch genie_analysis_enabled, genie_analysis_custom_prompt, genie_analysis_references und parameters enthalten.
Jedes Objekt im Array evaluations kann folgende Felder enthalten:
| Feld | Typ | Description |
|---|---|---|
id |
String | Die ID der Auswertungsbedingung. |
source |
Object | Die Spalte mit den Abfrageergebnissen und die Aggregation,die die Bedingung auswertet. |
comparison_operator |
String | Der Vergleichsoperator, wie GREATER_THAN, EQUAL, oder IS_NULL. |
threshold |
Object | Die Wert- oder Abfrageergebnisspalte, mit der die Quelle verglichen wird. |
empty_result_state |
String | Der Zustand, der verwendet werden soll, wenn die Abfrage keine Zeilen zurückgibt. Dieses Feld wird weggelassen, wenn der Alarm keinen leeren Ergebniszustand definiert. |
notification |
Object | Das Intervall für das erneute Auslösen, die Benachrichtigen-bei-OK-Einstellung und die Benachrichtigungsziel-IDs. |
state |
String | Der Auswertungsstatus, der die Benachrichtigung verursacht hat: TRIGGERED, OK oder ERROR. |
last_evaluated_at |
Integer | Die Auswertungszeit in Millisekunden seit der Unix-Epoche. |
last_triggered_at |
Integer | Der Zeitpunkt der letzten Auslösung, in Millisekunden seit der Unix-Epoche. Dieses Feld wird weggelassen, wenn die Warnung nicht ausgelöst wurde. |
Sichere die Webhook-Nutzlast
Die Nutzlast kann sensible Metadaten aus dem Arbeitsbereich enthalten, darunter die SQL-Abfrage, die Identität des Benachrichtigungsbesitzers und benutzerdefinierte Benachrichtigungsinhalte. Schützen Sie den empfangenden Endpunkt und beschränken Sie den Zugriff auf gespeicherte Payloads. Informationen zu Netzwerkkonfigurationen für Webhooks und Authentifizierungsoptionen finden Sie unter Benachrichtigungsziele verwalten.