Как завершить работу Azure конвейера фабрики данных на основе задачи IF - PullRequest
0 голосов
/ 16 марта 2020

У меня есть конвейер, построенный на фабрике данных Azure. Он имеет:

  1. задачу «LookUp», которая имеет запрос SQL, который возвращает столбец [CountRecs]. Этот столбец содержит значение 0 или более.

  2. задание «if» для проверки этого возвращаемого значения. Я хочу завершить конвейер, когда значение [CountRecs]> 0

Возможно ли это?

1 Ответ

1 голос
/ 16 марта 2020

Вероятно, вы могли бы достичь этого, имея веб-активность, если ваше условие IF истинно ([CountRecs]> 0), в котором веб-операция должна вызывать API REST ниже для отмены конвейерного запуска с использованием pipelinerunID (вы можете получить это значение с помощью выражения Dynami c - @pipeline().RunId)

Пример Dynami c Выражение для условия: @greater(activity('LookupTableRecordCount').output.firstRow.COUNTRECS, 0)

REST API для отмены конвейерного прогона : POST https://management.azure.com/subscriptions/ {subscriptionId} / resourceGroups / {resourceGroupName} /providers/Microsoft.DataFactory/factories/ {factoryName} / pipelineruns / {runId} / cancel? Api-version = 2018-06-01

MS Do c, относящийся к API отдыха: Запуск конвейера ADF - Отмена

Еще один возможный способ - использование недействительного URL-адреса в веб-активности, который будет Сбой веб-активности. В свою очередь, это приведет к сбою действия IfCondition, что приведет к сбою вашего конвейера.

Существует существующий запрос функции, связанный с тем же требованием в голосовом форуме пользователей ADF, предложенный другими пользователями ADF. Я бы порекомендовал вам проголосовать и / или прокомментировать этот отзыв, который поможет повысить приоритет реализации запроса функции.

ADF Голосовая обратная связь с пользователем, связанная с этим требованием: https://feedback.azure.com/forums/270578-data-factory/suggestions/38143873-a-new-activity-for-cancelling-the-pipeline-executi

Надеюсь, это поможет.

...