【发布时间】:2020-10-27 13:46:11
【问题描述】:
【问题讨论】:
-
您好 IgorRogachov,如果我的回答对您有帮助,您可以接受(标记)它作为答案。这对其他社区成员可能是有益的。谢谢。
标签: azure api azure-data-factory azure-data-factory-2
【问题讨论】:
标签: azure api azure-data-factory azure-data-factory-2
是的,我们可以。
您可以添加If Condition 来创建逻辑管道。如果两次复制活动输出状态包含'failed',则调用API。
我们知道,每个激活的副本都有输出具有以下详细信息:
"executionDetails": [
{
"source": {
"type": "AzureSqlDatabase",
"region": "East US"
},
"sink": {
"type": "AzureSqlDatabase",
"region": "East US"
},
"status": "Succeeded",
"start": "2020-07-08T05:37:33.9079553Z",
"duration": 4,
"usedDataIntegrationUnits": 4,
"usedParallelCopies": 1,
"profile": {
"queue": {
"status": "Completed",
"duration": 2
},
"transfer": {
"status": "Completed",
"duration": 1,
"details": {
"readingFromSource": {
"type": "AzureSqlDatabase",
"workingDuration": 0,
"timeToFirstByte": 0
},
"writingToSink": {
"type": "AzureSqlDatabase",
"workingDuration": 0
}
}
}
},
我们可以将executionDetails:{"status": "Succeeded"} 设置为激活的 if 条件:
表达式:无论哪个actives失败,所有API:
@or(equals(activity('Copy data1').output.executionDetails.status,'Failed'),equals(activity('Copy data2').output.executionDetails.status,'Failed') )
如果所有复制活动都“成功”(条件为假)并且我们不想做任何事情,我们不需要添加假活动。
希望这会有所帮助。
【讨论】:
我不知道。当一个 Activity 有多个条件时,它们被视为 AND 条件,这意味着两个复制 Activity 都必须无法执行 Web Activity。
执行此操作的一种常见模式是创建一个封装逻辑以报告错误的管道,并从每个活动的失败中调用它,将错误输出捕获到管道参数。
希望这有帮助!
【讨论】: