Перейти к основному содержимому

Уведомления о моделях

Настройте dbt так, чтобы он уведомлял владельцев моделей по электронной почте о проблемах в средах развертывания.

Настройте dbt для отправки email‑уведомлений владельцам моделей о проблемах в средах развертывания environments сразу после их возникновения — пока задание ещё выполняется. Владельцы моделей могут указать, по каким статусам они хотят получать уведомления:

  • Success и Fails для моделей
  • Warning, Success и Fails для тестов

С уведомлениями на уровне моделей владельцы моделей могут первыми узнавать о проблемах, прежде чем кто-либо другой (например, заинтересованные стороны).

Чтобы уведомления были своевременными и их количество оставалось в разумных пределах, когда несколько моделей или тестов их вызывают, dbt соблюдает следующие правила при уведомлении владельцев:

  • Отправлять уведомление каждому уникальному владельцу/электронной почте во время выполнения задания о любых моделях (со статусом ошибки/успеха) или тестах (со статусом предупреждения/ошибки/успеха). Каждый владелец получает только одно уведомление, первое.
  • Не отправлять уведомления о последующих моделях или тестах, пока задание dbt еще выполняется.
  • Каждый владелец/пользователь, подписавшийся на уведомления для одного или нескольких статусов (например, ошибка, успех, предупреждение), получит только одно уведомление по электронной почте в конце выполнения задания.
  • Электронное письмо включает в себя консолидированный список всех моделей или тестов, соответствующих статусам, на которые подписан пользователь, вместо отправки отдельных писем для каждого статуса.

Создайте YAML‑файлы конфигурации в вашем проекте, чтобы dbt мог отправлять уведомления о статусе ваших моделей и тестов в средах развертывания.

Prerequisites

Настройка групп

Определите ваши groups в любом файле .yml в вашем models directory. Владелец каждой группы теперь может указать один или несколько адресов электронной почты для получения уведомлений на уровне модели.

Поле email поддерживает один адрес электронной почты в виде строки или список из нескольких адресов электронной почты.

Следующий пример показывает, как определить группы в файле groups.yml.

models/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/marts.yml

models:
- name: sales
description: "Модель данных о продажах"
config:
group: finance

- name: campaigns
description: "Модель данных о кампаниях"
config:
group: marketing

Назначая группы в файле dbt_project.yml, вы можете охватить все модели в подкаталоге сразу.

В этом примере уведомления о моделях, связанных с этапами, отправляются группе инженеров данных, модели marts/sales — финансовой команде, а модели marts/campaigns — маркетинговой команде.

dbt_project.yml
config-version: 2
name: "jaffle_shop"

[...]

models:
jaffle_shop:
staging:
+group: data_engineering
marts:
sales:
+group: finance
campaigns:
+group: marketing

Присоединение группы к модели также охватывает ее тесты, поэтому вы также будете получать уведомления о сбоях тестов модели.

Включение доступа к уведомлениям о моделях

Предоставьте участникам аккаунта dbt возможность настраивать и получать оповещения о проблемах с моделями или тестами, которые возникают во время выполнения заданий.

Чтобы использовать уведомления на уровне моделей, ваш аккаунт dbt должен иметь доступ к этой функции. Попросите администратора dbt включить эту функцию для участников аккаунта, выполнив следующие шаги:

  1. Перейдите в Notification settings через имя вашего профиля в боковой панели (в левом нижнем углу).
  2. В разделе Email notifications включите параметр Enable group/owner notifications on models в секции Model notifications. Затем укажите, по каким статусам вы хотите получать уведомления (Success, Warning и/или Fails).
  3. Нажмите Save.
Example of the setting Enable group/owner notifications on modelsExample of the setting Enable group/owner notifications on models

Нашли ошибку?

0
Loading