如何在Pipeline B中检查Pipeline A状态并传入If activity执行分支操作
实现方案
完全可以实现你的需求,无需额外编写代码,直接利用Data Factory的内置活动和输出参数就能完成:
1. 用Execute Pipeline活动触发Pipeline A
在Pipeline B中添加Execute Pipeline活动,选择要调用的Pipeline A。这个活动执行后会自动返回Pipeline A的运行状态信息,无需额外去获取。
2. 配置If活动的判断条件
在If活动的条件输入框中,直接引用Execute Pipeline活动的输出状态:
- 判断成功的表达式:
@equals(activity('Execute Pipeline A').output.status, 'Succeeded') - 判断失败的表达式:
@equals(activity('Execute Pipeline A').output.status, 'Failed')
3. 设置分支逻辑
- 当Pipeline A执行成功时(If条件为True),在True分支中添加Wait活动,按需配置等待时长。
- 当Pipeline A执行失败时(If条件为False),在False分支中再次添加Execute Pipeline活动,重新调用Pipeline A实现重跑。
补充说明
Execute Pipeline活动的status字段还包含其他可能的取值(如Skipped、Cancelled),如果需要覆盖这些场景,可以扩展条件表达式。整个流程完全依赖Data Factory的内置能力,不需要额外代码开发。
内容的提问来源于stack exchange,提问作者Anubhav Swaroop
相关产品推荐
相关产品推荐

