SQL alert webhook payload

Wanneer een Databricks SQL-waarschuwing van status verandert, ontvangt een webhook-meldingsbestemming een JSON-payload die de waarschuwing en de evaluatie ervan beschrijft. Dit payloadformaat is van toepassing op de nieuwste versie van Databricks SQL-alerts. Legacy-alerts gebruiken een andere payload.

Important

Waarschuwingsconfiguraties bepalen welke extra velden de payload bevat. Velden zonder waarden worden weggelaten. Configureer je webhook-ontvanger om onbekende velden te negeren en ontbrekende optionele velden te behandelen.

Voorbeeld van payload

Het volgende voorbeeld toont de payload van een waarschuwing die is gewijzigd naar de status TRIGGERED. Identificaties, namen en tijdstempels zijn fictieve voorbeelden.

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

De nuttige lading bevat de volgende envelopvelden:

Veld Type Description
event String Het gebeurtenistype. Voor wijzigingen in waarschuwingstoestand is de waarde alert_state_change.
url_base String De basis-URL voor Databricks SQL in de werkruimte.
alert Object De melding en waarschuwingsdetails.
alert.title String Het gerenderde aangepaste meldingsonderwerp. Dit veld wordt weggelaten wanneer de melding geen aangepast onderwerp definieert.
alert.description String De gerenderde inhoud van de aangepaste melding. Dit veld wordt weggelaten wanneer de waarschuwing geen aangepaste berichttekst definieert.
alert.alert Object Een momentopname van de melding toen de melding werd verzonden.

Het geneste alert.alert object kan de volgende velden bevatten:

Veld Type Description
id String De resource-ID van de waarschuwing.
name String De naam van de waarschuwing.
owner Object De ID, naam en e-mailadres van de eigenaar van de waarschuwing. Dit veld wordt weggelaten wanneer de eigenaargegevens niet beschikbaar zijn.
created_at Integer Het tijdstip waarop de waarschuwing is gemaakt, in milliseconden sinds het Unix-tijdperk.
parent String De naam van de resource van de map waarin de melding staat.
query_text String De SQL-query die door de alert wordt geëvalueerd.
warehouse_id String De ID van het SQL-warehouse dat de query uitvoert.
custom_summary String Het aangepaste sjabloon voor het onderwerp van de melding. Dit veld wordt weggelaten wanneer een aangepaste onderwerpregel niet is geconfigureerd.
custom_description String Het aangepaste sjabloon voor de meldingstekst. Dit veld wordt weggelaten wanneer een aangepaste body niet is geconfigureerd.
custom_template_format String Het formaat van de aangepaste sjablonen, zoals HTML of MARKDOWN.
evaluations Array De geconfigureerde evaluatievoorwaarden en hun status. De state waarde weerspiegelt de statuswijziging die de melding veroorzaakte.
schedule Object Het schema van Quartz cron, tijdzone en gepauzeerde toestand. Dit veld wordt weggelaten wanneer de melding geen planning heeft.

Afhankelijk van de alertconfiguratie kan het geneste object ook parameters, genie_analysis_enabled, genie_analysis_custom_prompt en genie_analysis_references bevatten.

Elk object in de evaluations array kan de volgende velden bevatten:

Veld Type Description
id String De evaluatieconditie-ID.
source Object De kolom met het zoekresultaat en de aggregatie die door de conditie worden geëvalueerd.
comparison_operator String De vergelijkingsoperator, zoals GREATER_THAN, EQUAL, of IS_NULL.
threshold Object De kolom met waarde of queryresultaat waarmee de bron wordt vergeleken.
empty_result_state String De status die gebruikt moet worden wanneer de query geen rijen teruggeeft. Dit veld wordt weggelaten wanneer de waarschuwing geen lege resultaatstatus definieert.
notification Object Het retrigger-interval, notify-on-OK-instelling en meldingsbestemmings-ID's.
state String De evaluatietoestand die de melding veroorzaakte: TRIGGERED, OK, of ERROR.
last_evaluated_at Integer De evaluatietijd, in milliseconden sinds het Unix-epoch.
last_triggered_at Integer De laatste getriggerde tijd, in milliseconden sinds de Unix-epoch. Dit veld wordt weggelaten wanneer de waarschuwing niet is afgegaan.

Beveilig de webhook-payload

De payload kan gevoelige metadata van de werkruimte bevatten, waaronder de SQL-query, de identiteit van de alert-eigenaar en aangepaste notificatie-inhoud. Bescherm het ontvangende eindpunt en beperk de toegang tot opgeslagen payloads. Voor webhook-netwerkconfiguratie en authenticatieopties, zie Notificatiebestemmingen beheren.