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

Платформа dbt

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

Настройте dbt для отправки владельцам моделей уведомлений по электронной почте о проблемах в [средах](https://docs.getdbt.tech/docs/dbt-platform-environments.md#types-of-environments) развертывания сразу после их возникновения — пока задание еще выполняется. Владельцы моделей могут указать, о каких статусах получать уведомления:

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

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

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

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

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

## Предварительные требования

* Ваш администратор dbt [включил для вас соответствующую настройку аккаунта](#enable-access-to-model-notifications).
* Ваши среды развертывания должны использовать [канал обновлений](https://docs.getdbt.tech/docs/dbt-versions/dbt-release-tracks.md), а не устаревшую версию dbt v1.

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

Определите ваши [groups](https://docs.getdbt.tech/docs/build/groups.md) в любом файле `.yml` в вашем [models directory](https://docs.getdbt.tech/reference/project-configs/model-paths.md). Владелец каждой группы теперь может указать один или несколько адресов электронной почты для получения уведомлений на уровне модели.

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

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

models/groups.yml

```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

```yml

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

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

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

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

dbt\_project.yml

```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**.

[![Пример настройки Enable group/owner notifications on models](/img/docs/dbt-platform/example-enable-model-notifications.png?v=2 "Пример настройки Enable group/owner notifications on models")](#)Пример настройки Enable group/owner notifications on models

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

[![Настройка Enable group/owner notifications on models](/img/docs/dbt-cloud/example-enable-model-notifications.png?v=2 "Настройка Enable group/owner notifications on models")](#)Настройка Enable group/owner notifications on models
