SQL alert webhook payload

Bir Databricks SQL uyarısı durumu değiştiğinde, bir webhook bildirim hedefi uyarıyı ve değerlendirmesini tanımlayan bir JSON yükü alır. Bu yük verisi biçimi, Databricks SQL uyarılarının en son sürümüne uygulanır. Eski uyarılar farklı bir yük kullanır.

Important

Uyarı yapılandırmaları, yükün hangi ek alanları içerdiğini belirler. Değeri olmayan alanlar atlanır. Webhook alıcınızı bilinmeyen alanları görmezden gelecek şekilde ve eksik isteğe bağlı alanları yönetecek şekilde ayarlayın.

Payload örneği

Aşağıdaki örnek, TRIGGERED durumuna değişen bir uyarının yük verisini göstermektedir. Tanımlayıcılar, isimler ve zaman damgaları kurgusal örneklerdir.

{
  "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 alanları

payload aşağıdaki envelope alanlarını içerir:

Alan Türü Description
event Dize Olay türü. Uyarı durumu değişiklikleri için değer alert_state_change'dır.
url_base Dize Çalışma alanında Databricks SQL için temel URL.
alert Object Bildirim ve uyarı detayları.
alert.title Dize Render edilen özel bildirim konusu. Bu alan, uyarı özel bir konu tanımlamadığında atlanır.
alert.description Dize Render edilen özel bildirim gövdesi. Bu alan, uyarı özel bir gövde tanımlamadığında atlanır.
alert.alert Object Bildirim gönderildiğinde uyarının bir anlık görüntüsü.

İç içe alert.alert nesne aşağıdaki alanları içerebilir:

Alan Türü Description
id Dize Uyarı kaynak kimliği.
name Dize Uyarı adı.
owner Object Uyarı sahibinin kimliği, adı ve e-posta adresi. Bu alan sahip bilgileri mevcut olmadığında yer almaz.
created_at Integer Uyarı oluşturulma süresi, Unix çağından bu yana milisaniyeler cinsinden.
parent Dize Uyarıyı içeren klasörün kaynak adı.
query_text Dize Uyarının değerlendirdiği SQL sorgusu.
warehouse_id Dize Sorguyu çalıştıran SQL warehouse'inin kimliği.
custom_summary Dize Özel bildirim konusu şablonu. Bu alan, özel bir başlık yapılandırılmadığında atlanır.
custom_description Dize Özel bildirim gövdesi şablonu. Bu alan, özel bir gövde yapılandırılmadığında hariç tutulur.
custom_template_format Dize Özel şablonların formatı, örneğin HTML veya MARKDOWN.
evaluations Dizi Yapılandırılan değerlendirme koşulları ve durumu. state değeri, bildirime neden olan durum değişikliğini yansıtır.
schedule Object Quartz cron takvimi, saat dilimi ve duraklatılmış durum. Bu alan, uyarının bir programı olmadığında atlanır.

Uyarı yapılandırmasına bağlı olarak, iç içe nesne parameters, genie_analysis_enabled, genie_analysis_custom_prompt ve genie_analysis_references öğelerini de içerebilir.

evaluations dizisindeki her nesne aşağıdaki alanları içerebilir:

Alan Türü Description
id Dize Değerlendirme koşulu ID.
source Object Koşulun değerlendirdiği sorgu sonucu sütunu ve toplama.
comparison_operator Dize Karşılaştırma operatörü, örneğin GREATER_THAN, EQUAL, , veya IS_NULL.
threshold Object Kaynağın karşılaştırıldığı değer veya sorgu sonucu sütunu.
empty_result_state Dize Sorgu satır döndürmediğinde kullanılacak durum. Bu alan, uyarı boş bir sonuç durumu tanımlamadığında atlanır.
notification Object Yeniden tetikleme aralığı, notify-on-OK ayarı ve bildirim hedef kimlikleri.
state Dize Bildirime neden olan değerlendirme durumu: TRIGGERED, OK, veya ERROR.
last_evaluated_at Integer Değerlendirme süresi, Unix döneminden bu yana milisaniyeler cinsinden.
last_triggered_at Integer Unix epochundan itibaren, milisaniyeler cinsinden son tetiklenen zaman. Bu alan uyarı tetiklenmediğinde atlanır.

Webhook payload'unu güvence altına alın

Yük verisi, SQL sorgusu, uyarı sahibinin kimliği ve özel bildirim içeriği gibi hassas çalışma alanı meta verilerini içerebilir. Alıcı uç noktayı koruyun ve depolanan payload'lara erişimi sınırlayın. Webhook ağ ve kimlik doğrulama seçenekleri için bkz. Bildirim hedeflerini yönetme.