При работе с процессами преобразования данных в Azure Data Factory важно иметь контроль и видимость любых возможных ошибок. Один из эффективных способов быть в курсе этих ошибок – это получать уведомления по электронной почте. Хотя Azure Data Factory не предоставляет функциональности для отправки электронных писем из коробки, мы можем использовать задачу Web Activity в ADF для интеграции собственного Azure Logic App, который позволяет отправлять уведомления по электронной почте.
В этом блоге мы рассмотрим, как создать ADF Notification Logic Apps в Azure для реализации функциональности уведомлений по электронной почте в двух возможных случаях:
Случай A – Уведомление по электронной почте о неудачной задаче копирования данных
В этом сценарии мы хотим получать уведомление по электронной почте, когда задача копирования данных завершается неудачно. Для этого нам нужно выполнить следующие шаги:
- Откройте контейнер “Загрузка данных в SQL” в конвейере и добавьте задачу Web Task для события с ошибкой из задачи “Копирование данных Blob в SQL”.
- Скопируйте HTTP-URL из Logic App в портале Azure и вставьте его в задачу Web.
- Добавьте новый заголовок со следующими значениями:
- Имя: Content-Type
- Значение: application/json
- Определите тело POST-запроса с необходимыми элементами данных для построения JSON-структуры Logic App. Это включает:
- DataFactoryName: @{pipeline().DataFactory}
- PipelineName: @{pipeline().Pipeline}
- ErrorMessage: @{activity(‘Copy Data Blob to SQL’).Error.message}
- EmailTo: @{pipeline().parameters.var_email_address}
Случай B – Уведомление по электронной почте о событиях с неудачным статусом
В этом случае мы хотим генерировать уведомления по электронной почте для зарегистрированных событий с неудачным статусом. Для этого нам нужно выполнить следующие шаги:
- Откройте контейнер “Журналирование в SQL” в конвейере и добавьте еще один контейнер для проверки, имеет ли зарегистрированное событие статус “Неудача” с помощью следующего условного выражения: @equals(split(item(),’|’)[12], ‘Failed’)
- Добавьте две задачи внутри этой активности Condition для поддержки уведомлений по электронной почте.
- Аналогично случаю A, скопируйте HTTP-URL из Logic App в портале Azure и вставьте его в задачу Web. Добавьте тот же новый заголовок.
- Определите тело POST-запроса с необходимыми элементами данных для построения JSON-структуры Logic App. Это включает:
- DataFactoryName: @{pipeline().DataFactory}
- PipelineName: @{pipeline().Pipeline}
- ErrorMessage: @{variables(‘var_activity_error_message’)}
- EmailTo: @{pipeline().parameters.var_email_address}
Следуя этим шагам, теперь вы можете получать уведомления по электронной почте, когда что-то идет не так в вашем конвейере Azure Data Factory. Это обеспечивает своевременный и эффективный способ решения любых проблем, которые могут возникнуть в процессе преобразования данных.
Не забудьте протестировать функциональность уведомлений по электронной почте, намеренно вызвав сбой, например, временно изменив имя таблицы, используемой в задаче копирования данных.
Спасибо за прочтение этого блога о внедрении уведомлений по электронной почте в Azure Data Factory. Следите за новым контентом, связанным с SQL Server!