Как найти, какое действие вызвало другое действие в моем конвейере ADF - PullRequest
0 голосов
/ 26 февраля 2020

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

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

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

Но на конвейере выполнения при заполнении параметров я могу ссылаться только на действие по его имени, например, Reason = @activity['Caller Activity'].Error.Message.
Однако, так как несколько действий вызывают этот конвейер выполнения, есть ли способ скажем Reason = @activity[activityThatCalledExecutePipeline].Error.Message?

1 Ответ

0 голосов
/ 27 февраля 2020

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

Я не уверен, почему вы должны создать такой сложный сценарий, даже если вы все равно хотите регистрировать указанные c действия и сообщения об ошибках в любом случае Это обычное требование. ADF поддерживает множество способов мониторинга, перейдите по ссылкам ниже:

1. https://docs.microsoft.com/en-us/azure/data-factory/monitor-using-azure-monitor#alerts

2. https://docs.microsoft.com/en-us/azure/data-factory/monitor-programmatically

Я бы предложил вам получить представление о Alerts and Monitor на портале ADF:

enter image description here

И вы можете установить Целевые критерии

enter image description here

Включает в себя:

enter image description here

...