Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Когда SQL-оповещение Databricks меняет состояние, получатель уведомления webhook получает JSON-нагрузку, описывающую оповещение и его оценку. Этот формат передаваемых данных применяется к последней версии SQL-оповещений Databricks. Устаревшие оповещения используют другую полезную нагрузку.
Important
Конфигурации оповещений определяют, какие дополнительные поля включает полезная нагрузка. Поля без значений опускаются. Настройте ваш получатель вебхуков так, чтобы он игнорировал неизвестные поля и обрабатывал отсутствующие необязательные поля.
Пример полезных данных
Следующий пример показывает полезную нагрузку для оповещения, которое перешло в состояние TRIGGERED. Идентификаторы, имена и временные метки — вымышленные примеры.
{
"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"
}
}
}
Поля полезной нагрузки
Полезная нагрузка содержит следующие поля огибающей:
| Field | Type | Description |
|---|---|---|
event |
String | Тип события. Для изменений состояния оповещения значение равно alert_state_change. |
url_base |
String | Базовый URL Databricks SQL в рабочем пространстве. |
alert |
Object | Детали уведомлений и оповещений. |
alert.title |
String | Отрисованная тема пользовательского уведомления. Это поле опускается, если уведомление не определяет пользовательскую тему. |
alert.description |
String | Сформированное пользовательское тело уведомления. Это поле опускается, если оповещение не определяет пользовательское тело. |
alert.alert |
Object | Снимок предупреждения, когда уведомление было отправлено. |
Вложенный alert.alert объект может содержать следующие поля:
| Field | Type | Description |
|---|---|---|
id |
String | Идентификатор ресурса оповещения. |
name |
String | Имя оповещения. |
owner |
Object | ID, имя и адрес электронной почты владельца уведомления. Это поле опускается, если данные владельца недоступны. |
created_at |
Integer | Время создания оповещения — в миллисекундах с эпохи Unix. |
parent |
String | Имя ресурса папки, содержащей предупреждение. |
query_text |
String | SQL-запрос, который оценивается оповещением. |
warehouse_id |
String | ID SQL-хранилища, на котором выполняется запрос. |
custom_summary |
String | Шаблон темы пользовательского уведомления. Это поле опускается, если пользовательская тема не настроена. |
custom_description |
String | Шаблон текста пользовательского уведомления. Это поле опускается, если пользовательское тело не настроено. |
custom_template_format |
String | Формат пользовательских шаблонов, таких как HTML или MARKDOWN. |
evaluations |
Массив | Настроенные условия оценки и их состояние. Значение state отражает изменение состояния, вызвавшее уведомление. |
schedule |
Object | Расписание cron Quartz, часовой пояс и состояние паузы. Это поле опускается, если в оповещении нет расписания. |
В зависимости от конфигурации оповещения, вложенный объект может также включать parameters, genie_analysis_enabled, genie_analysis_custom_prompt, и genie_analysis_references.
Каждый объект в массиве evaluations может содержать следующие поля:
| Field | Type | Description |
|---|---|---|
id |
String | Идентификатор условия оценки. |
source |
Object | Столбец результата запроса и агрегация, которые оценивает условие. |
comparison_operator |
String | Оператор сравнения, например GREATER_THAN, EQUAL, или IS_NULL. |
threshold |
Object | Столбец со значением или результатом запроса, с которым сравнивается исходное значение. |
empty_result_state |
String | Состояние, которое нужно использовать, когда запрос не возвращает ни одной строки. Это поле опускается, если оповещение не определяет пустое состояние результата. |
notification |
Object | Интервал повторного триггера, настройки notify-on-OK и идентификаторы назначения уведомления. |
state |
String | Состояние оценки, вызвавшее уведомление: TRIGGERED, OK, или ERROR. |
last_evaluated_at |
Integer | Время оценки — в миллисекундах с эпохи Unix. |
last_triggered_at |
Integer | Время последнего срабатывания — в миллисекундах с эпохи Unix. Это поле опускается, когда оповещение не сработало. |
Обеспечьте безопасность данных webhook
Полезные данные могут содержать чувствительные метаданные рабочего пространства, включая SQL-запрос, личность владельца оповещения и пользовательское содержимое уведомлений. Защитить принимающую конечную точку и ограничить доступ к хранимым данным. Для параметров сети и аутентификации webhook см. Управление пунктами назначения уведомлений.