Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Quando um alerta SQL do Databricks muda de estado, um destino de notificação do webhook recebe um payload JSON que descreve o alerta e sua avaliação. Esse formato de payload se aplica à versão mais recente dos alertas SQL do Databricks. Alertas legados usam uma carga útil diferente.
Importante
Configurações de alerta determinam quais campos adicionais a carga útil inclui. Campos sem valores são omitidos. Configure seu receptor webhook para ignorar campos desconhecidos e lidar com campos opcionais ausentes.
Exemplo de payload
O exemplo a seguir mostra a carga útil de um alerta que mudou para o TRIGGERED estado. Identificadores, nomes e carimbos de data e hora 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 mudanças no estado de alerta, o valor é alert_state_change. |
url_base |
String | A URL base do Databricks SQL no workspace. |
alert |
Object | Os detalhes da notificação e do alerta. |
alert.title |
String | O assunto de notificação personalizado renderizado. Esse campo é omitido quando o alerta não define um assunto personalizado. |
alert.description |
String | O corpo de notificação personalizado renderizado. Esse 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 e-mail 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 SQL warehouse que executa a consulta. |
custom_summary |
String | O modelo personalizado de assunto de notificação. Esse campo é omitido quando um assunto personalizado não está configurado. |
custom_description |
String | O modelo personalizado do corpo da notificação. Esse 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 seu estado. O state valor reflete a mudança de estado que causou a notificação. |
schedule |
Object | O agendamento cron do Quartz, fuso horário e estado pausado. Esse campo é omitido quando o alerta não tem um agendamento. |
Dependendo da configuração do alerta, o objeto aninhado também pode 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 do resultado da consulta e a agregação que a condição avalia. |
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 contra a qual a fonte é comparada. |
empty_result_state |
String | O estado a ser usado quando a consulta não retorna linhas. Esse campo é omitido quando o alerta não define um estado de resultado vazio. |
notification |
Object | O intervalo de retrigger, a configuração 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 horário do último acionamento, em milissegundos desde a época Unix. Esse campo é omitido quando o alerta não foi acionado. |
Proteja o payload do webhook
O payload pode conter metadados sensíveis do workspace, incluindo a consulta SQL, a identidade do dono do alerta e conteúdo personalizado de notificações. Proteja o endpoint receptor e limite o acesso a cargas úteis armazenadas. Para opções de rede e autenticação de webhook, veja Gerenciar destinos de notificação.