Уведомления о моделях
Настройте dbt так, чтобы он уведомлял владельцев моделей по электронной почте о проблемах в средах развертывания.
Настройте dbt для отправки email‑уведомлений владельцам моделей о проблемах в средах развертывания environments сразу после их возникновения — пока задание ещё выполняется. Владельцы моделей могут указать, по каким статусам они хотят получать уведомления:
- Success и Fails для моделей
- Warning, Success и Fails для тестов
С уведомлениями на уровне моделей владельцы моделей могут первыми узнавать о проблемах, прежде чем кто-либо другой (например, заинтересованные стороны).
Чтобы уведомления были своевременными и их количество оставалось в разумных пределах, когда несколько моделей или тестов их вызывают, dbt соблюдает следующие правила при уведомлении владельцев:
- Отправлять уведомление каждому уникальному владельцу/электронной почте во время выполнения задания о любых моделях (со статусом ошибки/успеха) или тестах (со статусом предупреждения/ошибки/успеха). Каждый владелец получает только одно уведомление, первое.
- Не отправлять уведомления о последующих моделях или тестах, пока задание dbt еще выполняется.
- Каждый владелец/пользователь, подписавшийся на уведомления для одного или нескольких статусов (например, ошибка, успех, предупреждение), получит только одно уведомление по электронной почте в конце выполнения задания.
- Электронное письмо включает в себя консолидированный список всех моделей или тестов, соответствующих статусам, на которые подписан пользователь, вместо отправки отдельных писем для каждого статуса.
Создайте YAML‑файлы конфигурации в вашем проекте, чтобы dbt мог отправлять уведомления о статусе ваших моделей и тестов в средах развертывания.
Prerequisites
- Ваш администратор dbt должен включить соответствующую настройку учетной записи.
- Ваша(и) среда(ы) развертывания должна(ы) использовать release track, а не устаревшую версию dbt Core.
Настройка групп
Определите ваши groups в любом файле .yml в вашем models directory. Владелец каждой группы теперь может указать один или несколько адресов электронной почты для получения уведомлений на уровне модели.
Поле email поддерживает один адрес электронной почты в виде строки или список из нескольких адресов электронной почты.
Следующий пример показывает, как определить группы в файле groups.yml.
groups:
- name: finance
owner:
# Email требуется для получения уведомлений на уровне моделей, также допускаются дополнительные свойства.
name: "Finance team"\
email: finance@dbtlabs.com
- name: marketing
owner:
name: "Marketing team"
email: marketing@dbtlabs.com
config:
meta:
slack: '#marketing-team'
# Example of multiple emails supported
- name: documentation team
owner:
name: "Docs team"
email:
- docs@dbtlabs.com
- community@dbtlabs.com
- product@dbtlabs.com
config:
meta:
slack: '#docs-fox'
Поле owner поддерживает name и email, которые являются обязательными значениями.
Дополнительные произвольные поля (например, favorite_food) считаются устаревшими и в будущих версиях больше не будут разрешены.
Чтобы хранить дополнительные метаданные (например, Slack-каналы, информацию о команде или пользовательские атрибуты), используйте config.meta.
Привязка групп к моделям
Присоедините группы к моделям так же, как и любую другую конфигурацию, в файлах dbt_project.yml или whatever.yml. Например:
models:
- name: sales
description: "Модель данных о продажах"
config:
group: finance
- name: campaigns
description: "Модель данных о кампаниях"
config:
group: marketing
Назначая группы в файле dbt_project.yml, вы можете охватить все модели в подкаталоге сразу.
В этом примере уведомления о моделях, связанных с этапами, отправляются группе инженеров данных, модели marts/sales — финансовой команде, а модели marts/campaigns — маркетинговой команде.
config-version: 2
name: "jaffle_shop"
[...]
models:
jaffle_shop:
staging:
+group: data_engineering
marts:
sales:
+group: finance
campaigns:
+group: marketing
Присоединение группы к модели также охватывает ее тесты, поэтому вы также будете получать уведомления о сбоях тестов модели.
Включение доступа к уведомлениям о моделях
Предоставьте участникам аккаунта dbt возможность настраивать и получать оповещения о проблемах с моделями или тестами, которые возникают во время выполнения заданий.
Чтобы использовать уведомления на уровне моделей, ваш аккаунт dbt должен иметь доступ к этой функции. Попросите администратора dbt включить эту функцию для участников аккаунта, выполнив следующие шаги:
- Перейдите в Notification settings через имя вашего профиля в боковой панели (в левом нижнем углу).
- В разделе Email notifications включите параметр Enable group/owner notifications on models в секции Model notifications. Затем укажите, по каким статусам вы хотите получать уведомления (Success, Warning и/или Fails).
- Нажмите Save.
