SQL alert webhook payload

Když se změní stav SQL upozornění Databricks, místo webhook notifikace obdrží datovou část JSON, která popisuje upozornění a jeho vyhodnocení. Tento formát payloadu se vztahuje na nejnovější verzi výstrah Databricks SQL. Legacy upozornění používají jiný payload.

Important

Konfigurace upozornění určují, která další pole datová část obsahuje. Pole bez hodnot jsou vynechána. Nakonfigurujte svůj přijímač webhooku tak, aby ignoroval neznámá pole a řešil chybějící volitelná pole.

Příklad datové části

Následující příklad ukazuje payload upozornění, které se změnilo na stav TRIGGERED. Identifikátory, jména a časová razítka jsou fiktivní příklady.

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

Pole datové části

Datová část obsahuje následující pole obálky:

Pole Typ Description
event String Typ události. Pro změny stavu upozornění je hodnota alert_state_change.
url_base String Základní URL pro Databricks SQL v pracovním prostoru.
alert Object Oznámení a podrobnosti upozornění.
alert.title String Vykreslený vlastní předmět oznámení. Toto pole je vynecháno, pokud upozornění nedefinuje vlastní předmět.
alert.description String Vykreslené vlastní tělo oznámení. Toto pole je vynecháno, pokud upozornění nedefinuje vlastní tělo.
alert.alert Object Snímek výstrahy v okamžiku odeslání notifikace.

Vnořený alert.alert objekt může obsahovat následující pole:

Pole Typ Description
id String ID zdroje upozornění.
name String Název výstrahy.
owner Object Identifikační číslo, jméno a e-mailová adresa majitele upozornění. Toto pole je vynecháno, pokud nejsou k dispozici údaje o majiteli.
created_at Integer Čas vytvoření upozornění, v milisekundách od éry Unixu.
parent String Název zdroje složky, která obsahuje upozornění.
query_text String SQL dotaz, který vyhodnocuje upozornění.
warehouse_id String ID SQL skladu, který provádí dotaz.
custom_summary String Vlastní šablona předmětu oznámení. Toto pole se vynechává, pokud není nastaven vlastní předmět.
custom_description String Vlastní šablona těla oznámení. Toto pole se vynechává, pokud není nastaven vlastní obsah.
custom_template_format String Formát vlastních šablon, například HTML nebo MARKDOWN.
evaluations Pole Konfigurované hodnotící podmínky a jejich stav. Hodnota state odráží změnu stavu, která způsobila oznámení.
schedule Object Quartz cron rozvrh, časové pásmo a pozastavený stav. Toto pole se vynechává, pokud upozornění nemá plán.

V závislosti na konfiguraci upozornění může vnořený objekt také obsahovat parameters, genie_analysis_enabled, genie_analysis_custom_prompt, a genie_analysis_references.

Každý objekt v evaluations poli může obsahovat následující pole:

Pole Typ Description
id String ID podmínky vyhodnocení.
source Object Sloupec výsledku dotazu a agregace, které podmínka vyhodnocuje.
comparison_operator String Operátor porovnání, například GREATER_THAN, EQUAL, nebo IS_NULL.
threshold Object Sloupec hodnoty nebo výsledku dotazu, se kterým je zdroj porovnáván.
empty_result_state String Stav, který se použije, když dotaz nevrátí žádné řádky. Toto pole je vynecháno, pokud upozornění nedefinuje prázdný stav výsledku.
notification Object Interval opětovného spuštění, nastavení upozorněníon-OK a ID cílů oznámení.
state String Hodnotící stav, který způsobil upozornění: TRIGGERED, OK, nebo ERROR.
last_evaluated_at Integer Čas vyhodnocení v milisekundách od unixové epochy.
last_triggered_at Integer Poslední spouštěcí čas, v milisekundách od éry Unixu. Toto pole se vynechává, když se upozornění nespustilo.

Zabezpečte webhook payload

Obsah může obsahovat citlivá metadata pracovního prostoru, včetně SQL dotazu, identity vlastníka upozornění a vlastního obsahu notifikací. Chraňte přijímající koncový bod a omezte přístup k uloženým payloadům. Možnosti sítí pro webhooky a ověřování najdete v článku Správa cílů oznámení.