Как использовать минимальное количество веб-действий для отправки уведомлений в конвейере ADF?

Я использую веб-активность для отправки уведомлений о запуске конвейера в командах MS. Мое требование — использовать минимальное количество веб-действий для снижения затрат. В то же время я хочу получать уведомления в случае сбоя какого-либо действия. Пожалуйста, предложите идеальное соединение с учетом вышеуказанного требования.

Я хочу использовать как можно меньшее количество действий для отправки уведомлений. Я попытался подключиться, используя только одно веб-действие, но это не удалось.

Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
0
0
66
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

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

Для этого требования можно использовать действие конвейера выполнения. Но для этого требуется еще один родительский конвейер. Удалите веб-действия, поместите все необходимые действия в конвейер и вызовите этот конвейер из другого конвейера (родительского).

Здесь при сбое любого действия в дочернем конвейере действие «Выполнение конвейера» завершится неудачно, и оно содержит информацию о сообщении об ошибке и имени действия.

Следуйте приведенной ниже демонстрации для лучшего понимания:

В качестве примера я взял несколько действий с заданными переменными в дочернем конвейере и намеренно сгенерировал ошибку.

Теперь в родительском конвейере вызовите этот конвейер с помощью действия «Выполнение конвейера» и убедитесь, что вы установили флажок «Ожидать завершения».

По завершении конвейера выполнения я добавил действие установки переменной с переменной Chat_message. Это выражение для получения сообщения в чате.

@if (equals(activity('Execute Pipeline1').status,'Succeeded'),'The pipeline succeeded',concat('The pipeline failed. The activity name is : ',substring(activity('Execute Pipeline1').error.message, add(indexOf(activity('Execute Pipeline1').error.message,'target'),7), sub(sub(indexOf(activity('Execute Pipeline1').error.message,'failed'),1),add(indexOf(activity('Execute Pipeline1').error.message,'target'),7))),' and the Error message is : ',split(activity('Execute Pipeline1').Error.message,'failed: ')[1]))

При сбое любого действия дочернего конвейера происходит сбой всего конвейера, а также происходит сбой действия «Выполнение конвейера» в родительском конвейере.

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

**Сообщение при сбое дочернего конвейера: **

**Сообщение об успешном завершении конвейера: **

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

Один из способов, как заявил Ракеш, — использовать активность конвейера выполнения, но это означает управление дополнительным конвейером. Вы также можете управлять, добавляя зависимости в форме завершения, пропускать и проверять статус всех действий, а также получать список всех сообщений об ошибках, если таковые имеются, и отправлять общее уведомление по электронной почте.

в моем блоге ниже представлена ​​подробная основа для этого: https://datasharkx.wordpress.com/2021/08/19/error-logging-and-the-art-of-avoiding-redundant-activities-in-azure-data-factory/

Другие вопросы по теме

Похожие вопросы

Невозможно подключить onpremisesql к adf
Как получить идентификатор пользователя Azure Entra из SignalR Hub?
Процессор концентратора событий Azure: веб-задание или AzureFunction?
Как получить ключ API от службы поиска Azure AI, созданной в Terraform, чтобы использовать его в другом ресурсе?
Почему самостоятельный агент Azure получает сообщение об ошибке «Отказано в соединении» при подключении к EventHubs?
Файл паркета не перезаписывается в записных книжках Azure Synapse
Нужна ли мне подписка на Microsoft 365, чтобы использовать Graph API для Outlook в Python?
Microsoft Graph — доступ к стенограммам OnlineMeetings — выражение невозможно вычислить
Функции Azure, созданные в одном облачном местоположении, например на юге Индии, должны иметь возможность создать группу ресурсов в центральном месте США
Войдите в Azure B2C с помощью учетной записи OpenID (рабочая электронная почта Microsoft), но запретите пользователю регистрироваться