如何使基于 IF 任务的 Azure 数据工厂管道失败

ibe*_*exy 5 azure-data-factory

我有一个基于 Azure 数据工厂的管道。它有:

  1. 具有返回列 [CountRecs] 的 SQL 查询的“LookUp”任务。此列包含 0 或更多值。

  2. 一个“if”任务来检查这个返回值。当 [CountRecs]>0 的值时,我想使管道失败

这可能吗?

小智 2

当您的 IF 条件为 true ([CountRecs]>0) 时,您可以通过 Web 活动来实现此目的,其中 Web 活动应调用以下 REST API 以使用 pipelinerunID 取消管道运行(您可以通过以下方式获取此值)使用动态表达式 - @pipeline().RunId)

条件动态表达式示例:@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-版本=2018-06-01

与 Rest API 相关的 MS Doc: ADF 管道运行 - 取消

另一种可能的方法是您的 Web 活动中存在无效 URL,这将使 Web 活动失败,进而导致 IfCondition 活动失败,进而导致您的管道失败。

其他 ADF 用户建议的 ADF 用户语音论坛中存在与相同要求相关的现有功能请求。我建议您对此反馈进行投票和/或评论,这将有助于提高功能请求实施的优先级。

ADF 用户与此要求相关的声音反馈: https://feedback.azure.com/forums/270578-data-factory/suggestions/38143873-a-new-activity-for-cancelling-the-pipeline-executi

希望这可以帮助。

  • 感谢您的帮助。我只是按照建议调用了一个无效的网址(该网址甚至是描述性的,例如:https://your_test_has_failed) (2认同)