Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Quando um alerta SQL do Databricks muda de estado, um destino de notificação webhook recebe uma carga útil JSON que descreve o alerta e a sua avaliação. Este formato de payload aplica-se à versão mais recente dos alertas SQL do Databricks. Os alertas legados usam uma carga útil diferente.
Importante
As configurações de alerta determinam quais os campos adicionais que a carga útil inclui. Campos sem valores são omitidos. Configura o teu receptor webhook para ignorar campos desconhecidos e tratar dos campos opcionais em falta.
Exemplo de carga útil
O exemplo seguinte mostra a carga útil de um alerta que mudou para o TRIGGERED estado. Identificadores, nomes e carimbos temporais são exemplos fictícios.
{
"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"
}
}
}
Campos de carga útil
A carga útil contém os seguintes campos de envelope:
| Field | Tipo | Description |
|---|---|---|
event |
String | O tipo de evento. Para alterações de estado de alerta, o valor é alert_state_change. |
url_base |
String | A URL base do Databricks SQL no espaço de trabalho. |
alert |
Object | Os detalhes da notificação e do alerta. |
alert.title |
String | O assunto da notificação personalizada renderizado. Este campo é omitido quando o alerta não define um assunto personalizado. |
alert.description |
String | O corpo de notificação personalizado renderizado. Este campo é omitido quando o alerta não define um corpo personalizado. |
alert.alert |
Object | Um instantâneo do alerta quando a notificação foi enviada. |
O objeto aninhado alert.alert pode conter os seguintes campos:
| Field | Tipo | Description |
|---|---|---|
id |
String | O ID do recurso de alerta. |
name |
String | O nome do alerta. |
owner |
Object | O ID, nome e endereço de email do proprietário do alerta. Este campo é omitido quando os detalhes do proprietário não estão disponíveis. |
created_at |
Integer | O tempo de criação do alerta, em milissegundos desde a época Unix. |
parent |
String | O nome do recurso da pasta que contém o alerta. |
query_text |
String | A consulta SQL que o alerta avalia. |
warehouse_id |
String | O ID do armazém SQL que executa a consulta. |
custom_summary |
String | O modelo personalizado do assunto da notificação. Este campo é omitido quando um assunto definido pelo utilizador não tiver sido configurado. |
custom_description |
String | O template personalizado do corpo da notificação. Este campo é omitido quando um corpo personalizado não está configurado. |
custom_template_format |
String | O formato dos templates personalizados, como HTML ou MARKDOWN. |
evaluations |
Array | As condições de avaliação configuradas e o seu estado. O state valor reflete a alteração de estado que causou a notificação. |
schedule |
Object | O cron do Quartz, o fuso horário e o estado pausado. Este campo é omitido quando o alerta não tem agendamento. |
Dependendo da configuração do alerta, o objeto aninhado pode também incluir parameters, genie_analysis_enabled, genie_analysis_custom_prompt, e genie_analysis_references.
Cada objeto no evaluations array pode conter os seguintes campos:
| Field | Tipo | Description |
|---|---|---|
id |
String | O ID da condição de avaliação. |
source |
Object | A coluna de resultados da consulta e a agregação avaliadas pela condição. |
comparison_operator |
String | O operador de comparação, como GREATER_THAN, EQUAL, ou IS_NULL. |
threshold |
Object | A coluna de valor ou resultado da consulta com a qual a fonte é comparada. |
empty_result_state |
String | O estado a usar quando a consulta não retorna linhas. Este campo é omitido quando o alerta não define um estado de resultado vazio. |
notification |
Object | O intervalo de reativação, a definição de notify-on-OK e os IDs de destino das notificações. |
state |
String | O estado de avaliação que causou a notificação: TRIGGERED, OK, ou ERROR. |
last_evaluated_at |
Integer | O tempo de avaliação, em milissegundos desde a época Unix. |
last_triggered_at |
Integer | O instante da última ativação, em milissegundos desde a época Unix. Este campo é omitido quando o alerta não foi ativado. |
Proteja o payload do webhook
O payload pode conter metadados sensíveis do espaço de trabalho, incluindo a consulta SQL, a identidade do proprietário do alerta e conteúdo de notificações personalizadas. Proteger o endpoint recetor e limitar o acesso a cargas úteis armazenadas. Para opções de rede e autenticação de webhooks, consulte Gerir destinos de notificação.