Published on

November 15, 2018

Внедрение уведомлений по электронной почте в Azure Data Factory

При работе с процессами преобразования данных в Azure Data Factory важно иметь контроль и видимость любых возможных ошибок. Один из эффективных способов быть в курсе этих ошибок – это получать уведомления по электронной почте. Хотя Azure Data Factory не предоставляет функциональности для отправки электронных писем из коробки, мы можем использовать задачу Web Activity в ADF для интеграции собственного Azure Logic App, который позволяет отправлять уведомления по электронной почте.

В этом блоге мы рассмотрим, как создать ADF Notification Logic Apps в Azure для реализации функциональности уведомлений по электронной почте в двух возможных случаях:

Случай A – Уведомление по электронной почте о неудачной задаче копирования данных

В этом сценарии мы хотим получать уведомление по электронной почте, когда задача копирования данных завершается неудачно. Для этого нам нужно выполнить следующие шаги:

  1. Откройте контейнер “Загрузка данных в SQL” в конвейере и добавьте задачу Web Task для события с ошибкой из задачи “Копирование данных Blob в SQL”.
  2. Скопируйте HTTP-URL из Logic App в портале Azure и вставьте его в задачу Web.
  3. Добавьте новый заголовок со следующими значениями:
    • Имя: Content-Type
    • Значение: application/json
  4. Определите тело 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 – Уведомление по электронной почте о событиях с неудачным статусом

В этом случае мы хотим генерировать уведомления по электронной почте для зарегистрированных событий с неудачным статусом. Для этого нам нужно выполнить следующие шаги:

  1. Откройте контейнер “Журналирование в SQL” в конвейере и добавьте еще один контейнер для проверки, имеет ли зарегистрированное событие статус “Неудача” с помощью следующего условного выражения: @equals(split(item(),’|’)[12], ‘Failed’)
  2. Добавьте две задачи внутри этой активности Condition для поддержки уведомлений по электронной почте.
  3. Аналогично случаю A, скопируйте HTTP-URL из Logic App в портале Azure и вставьте его в задачу Web. Добавьте тот же новый заголовок.
  4. Определите тело 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!

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.