gpt4 book ai didi

azure - ADF 获取属性 "status": "Succeeded" and IF for validation

转载 作者:行者123 更新时间:2023-12-02 08:17:42 25 4
gpt4 key购买 nike

我有一个管道,可以从外部提取数据并作为暂存数据汇入 SQL Server 表中。使用 4 '复制数据' 获取原始数据的过程已成功。因为列太多(250列),所以我把它们分开了。 this is a pipeline下一个要求是通过获取成功状态来验证 4 那些“复制数据”。 “复制数据” 的输出如下所示

    {
"dataRead": 4772214,
"dataWritten": 106918,
"sourcePeakConnections": 1,
"sinkPeakConnections": 1,
"rowsRead": 1366,
"rowsCopied": 1366,
"copyDuration": 8,
"throughput": 582.546,
"errors": [],
"effectiveIntegrationRuntime": "AutoResolveIntegrationRuntime (Southeast Asia)",
"usedDataIntegrationUnits": 4,
"billingReference": {
"activityType": "DataMovement",
"billableDuration": [
{
"meterType": "AzureIR",
"duration": 0.016666666666666666,
"unit": "DIUHours"
}
]
},
"usedParallelCopies": 1,
"executionDetails": [
{
"source": {
"type": "RestService"
},
"sink": {
"type": "AzureSqlDatabase",
"region": "Southeast Asia"
},
"status": "Succeeded",
"start": "2022-04-13T07:16:48.5905628Z",
"duration": 8,
"usedDataIntegrationUnits": 4,
"usedParallelCopies": 1,
"profile": {
"queue": {
"status": "Completed",
"duration": 4
},
"transfer": {
"status": "Completed",
"duration": 4,
"details": {
"readingFromSource": {
"type": "RestService",
"workingDuration": 1,
"timeToFirstByte": 1
},
"writingToSink": {
"type": "AzureSqlDatabase",
"workingDuration": 0
}
}
}
},
"detailedDurations": {
"queuingDuration": 4,
"timeToFirstByte": 1,
"transferDuration": 3
}
}
],
"dataConsistencyVerification": {
"VerificationResult": "NotVerified"
},
"durationInQueue": {
"integrationRuntimeQueue": 0
}
}

现在,我想要获取"status": "Succeeded"(JSON 输出)以在'IF Condition' 中进行验证。因此,我在动态内容中设置变量的值 @activity('copy_data_Kobo_MBS').output

enter image description here

但是当它运行时,我收到错误

The variable 'copy_Kobo_MBS' of type 'Boolean' cannot be initializedor updated with value of type 'Object'. The variable 'copy_Kobo_MBS'only supports values of types 'Boolean'.

问题是如何获取 "status": "Succeeded" (JSON 输出)作为“变量”值?因此“IF条件”可以检查“变量”值。

最佳答案

您可以使用以下表达式从复制数据事件中提取运行状态。由于您的变量是 bool 类型,因此您需要使用返回 truefalse@equals() 函数来计算它。

@equals(activity('Copy data1').output.executionDetails[0].status,'Succeeded')

据了解,当您连接复制事件以在成功时设置变量事件时,您不必从复制数据事件中提取状态。

这意味着您的设置变量事件仅在复制数据事件成功运行时运行。

另外,请注意

  1. 如果复制数据事件(或任何其他事件)失败,则在上一个事件成功输出的基础上添加的事件将不会被执行。正在运行。

  2. 如果您将多个事件输出连接到单个事件,则该事件仅在所有连接的事件运行时运行。

  3. 您可以在失败或完成时添加事件以进一步处理。

示例:

在下面的片段中,由于复制数据不成功,设置变量事件未运行。并且 Wait2 事件未运行,因为所有输入事件未成功运行。

enter image description here

关于azure - ADF 获取属性 "status": "Succeeded" and IF for validation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71855510/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com