Azure 数据工厂 V2 逻辑或
Azure Data Factory V2 logical OR
是否可以为 Azure 数据工厂 V2 管道活动创建逻辑 OR?例如,我们有两个复制活动,如果其中任何一个活动失败,数据工厂应调用 API.
我不知道。当一个 activity 有多个条件时,它们被视为一个 AND 条件,这意味着两个复制活动都必须无法执行 web activity.
执行此操作的一种常见模式是创建一个封装逻辑以报告错误的管道,并从每个 activity 的故障中调用它,将错误输出捕获到管道参数。
希望对您有所帮助!
是的,我们可以。
您可以添加 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 条件激活:
表达式:无论哪个active失败,所有API:
@or(equals(activity('Copy data1').output.executionDetails.status,'Failed'),equals(activity('Copy data2').output.executionDetails.status,'Failed') )
如果条件为真,添加真正的主动调用API:
如果所有复制活动都“成功”(条件为假)而我们不想做任何事情,则不需要添加假活动。
希望对您有所帮助。
是否可以为 Azure 数据工厂 V2 管道活动创建逻辑 OR?例如,我们有两个复制活动,如果其中任何一个活动失败,数据工厂应调用 API.
我不知道。当一个 activity 有多个条件时,它们被视为一个 AND 条件,这意味着两个复制活动都必须无法执行 web activity.
执行此操作的一种常见模式是创建一个封装逻辑以报告错误的管道,并从每个 activity 的故障中调用它,将错误输出捕获到管道参数。
希望对您有所帮助!
是的,我们可以。
您可以添加 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 条件激活:
表达式:无论哪个active失败,所有API:
@or(equals(activity('Copy data1').output.executionDetails.status,'Failed'),equals(activity('Copy data2').output.executionDetails.status,'Failed') )
如果条件为真,添加真正的主动调用API:
如果所有复制活动都“成功”(条件为假)而我们不想做任何事情,则不需要添加假活动。
希望对您有所帮助。