SQL alert webhook-payload

När en Databricks SQL-varning byter status får en webhook-notifikationsdestination en JSON-payload som beskriver varningen och dess utvärdering. Detta payload-format gäller för den senaste versionen av Databricks SQL-varningar. Legacy-varningar använder en annan payload.

Important

Varningskonfigurationer bestämmer vilka ytterligare fält payloaden innehåller. Fält utan värden utelämnas. Konfigurera din webhook-mottagare att ignorera okända fält och hantera saknade valfria fält.

Exempel på payload

Följande exempel visar payloaden för en varning som ändrades till tillståndet TRIGGERED. Identifierare, namn och tidsstämplar är fiktiva exempel.

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

Nyttolastfält

Payloaden innehåller följande envelope-fält:

Fält Typ Description
event String Händelsetyp För förändringar i larmtillstånd är värdet alert_state_change.
url_base String Bas-URL:en för Databricks SQL i arbetsytan.
alert Object Notifikationen och varningsdetaljerna.
alert.title String Det återgivna anpassade meddelandeämnet. Detta fält utelämnas när varningen inte definierar en egen ämnesrad.
alert.description String Den renderade meddelandetexten i den anpassade notisen. Detta fält utelämnas när larmet inte definierar en anpassad brödtext.
alert.alert Object En ögonblicksbild av larmet när notisen skickades.

Det nästlade objektet alert.alert kan innehålla följande fält:

Fält Typ Description
id String Alert-resurs-ID.
name String Aviseringsnamnet.
owner Object Larmets ägares ID, namn och e-postadress. Detta fält utelämnas när ägarens uppgifter inte finns tillgängliga.
created_at Integer Tidpunkten då larmet skapades, i millisekunder sedan Unix-epoken.
parent String Resursnamnet på mappen som innehåller varningen.
query_text String SQL-frågan som varningen utvärderar.
warehouse_id String ID:t för SQL-lagret som kör frågan.
custom_summary String Den anpassade mallen för aviseringsämne. Detta fält utelämnas när ett anpassat ämne inte är konfigurerat.
custom_description String Den anpassade mallen för notisens brödtext. Detta fält utelämnas när en anpassad brödtext inte konfigureras.
custom_template_format String Formatet på de anpassade mallarna, såsom HTML eller MARKDOWN.
evaluations Array De konfigurerade utvärderingsvillkoren och deras tillstånd. Värdet state speglar den tillståndsändring som orsakade notifikationen.
schedule Object Quartz cron-schemat, tidszonen och pausade tillståndet. Detta fält utelämnas när varningen inte har något schema.

Beroende på varningskonfigurationen kan det nästlade objektet också inkludera parameters, genie_analysis_enabled, genie_analysis_custom_prompt, och genie_analysis_references.

Varje objekt i matrisen evaluations kan innehålla följande fält:

Fält Typ Description
id String Utvärderingsvillkorets ID.
source Object Kolumnen i frågeresultatet och aggregeringen som villkoret utvärderar.
comparison_operator String Jämförelseoperatorn, såsom GREATER_THAN, EQUAL, eller IS_NULL.
threshold Object Värde- eller frågeresultatkolumnen som källan jämförs med.
empty_result_state String Tillståndet som ska användas när frågan returnerar inga rader. Detta fält utelämnas när varningen inte definierar ett tomt resultattillstånd.
notification Object Omaktiveringsintervallet, notify-on-OK-inställningen och destinations-ID:n för notifikationer.
state String Utvärderingstillståndet som orsakade notifikationen: TRIGGERED, OK, eller ERROR.
last_evaluated_at Integer Utvärderingstiden, i millisekunder sedan Unix-epoken.
last_triggered_at Integer Tidpunkt för senaste utlösning, i millisekunder sedan Unix-epoken. Detta fält utelämnas när varningen inte har lösts ut.

Säkra webhook-payloaden

Payloaden kan innehålla känslig metadata från arbetsområdet, inklusive SQL-frågan, larmägarens identitet och anpassat notifikationsinnehåll. Skydda den mottagande slutpunkten och begränsa åtkomsten till lagrade payloader. För webhook-nätverk och autentiseringsalternativ, se Hantera notifikationsdestinationer.