我有一个基于Azure数据工厂的管道。它具有:
具有SQL查询的“ LookUp”任务,该查询返回列[CountRecs]。该列的值为0或更大。
“ if”任务来检查此返回值。当[CountRecs]> 0
这可能吗?
答案 0 :(得分:2)
如果您的IF条件为true([CountRecs]> 0),则可以通过进行Web活动来实现此目的,其中,Web活动应调用以下REST API来取消使用pipelinerunID运行的管道(您可以获取使用动态表达式-testOnly *CalculatorSpec -- -z "adds two numbers"
)
条件:@pipeline().RunId
与Rest API相关的MS Doc:ADF Pipeline Runs - Cancel
另一种可能的方法是在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
希望这会有所帮助。
答案 1 :(得分:0)
作为一种黑客解决方案,您可以创建一个“设置变量”活动,如果满足某个条件,该活动会导致除以零。我不喜欢它,但它有效。
@string(
div(
1
, if(
greater( int(variables('date_diff')), 100 )
, 0
, 1
)
)
)