英文:
ADF REST API for Activity Runs not returning data
问题
我正在从父管道调用Activity Runs Rest API以捕获子管道中的任何错误。
然而,Value
数组中没有返回任何数据,无论是什么类型。
以下是我的设置。
Web 活动
URL
Body
{ "lastUpdatedAfter": "2023-05-23T00:00:00.3345758Z",
"lastUpdatedBefore": "2023-05-30T00:00:00.3686473Z" }
我在子管道中设置了一个活动以失败。
这是响应 - Value
数组中没有内容
{
"value": [],
"ADFWebActivityResponseHeaders": {
"Pragma": "no-cache",
"x-ms-correlation-request-id": "94cxxxx0-xxxx-xxxx-xxxx-b0842c922b3f",
...
},
"effectiveIntegrationRuntime": "AutoResolveIntegrationRuntime (West Europe)",
"executionDuration": 0,
"durationInQueue": {
"integrationRuntimeQueue": 0
},
"billingReference": {
"activityType": "ExternalActivity",
"billableDuration": [
{
"meterType": "AzureIR",
"duration": 0.016666666666666666,
"unit": "Hours"
}
]
}
}
我尝试过在 URL 中使用父管道的 RunId 和子管道的 RunId,都返回空的 Value
数组。
我漏掉了什么?
英文:
I'm calling the Activity Runs Rest API from a parent pipeline to capture any errors in a child pipeline.
However, no data, of any kind, is being returned in the Value
array.
Here are my settings.
Web activity
URL
Body
{ "lastUpdatedAfter": "2023-05-23T00:00:00.3345758Z",
"lastUpdatedBefore": "2023-05-30T00:00:00.3686473Z" }
I've set an activity in the child pipeline to fail.
This is the response - nothing in the Value
array
{
"value": [],
"ADFWebActivityResponseHeaders": {
"Pragma": "no-cache",
"x-ms-correlation-request-id": "94cxxxx0-xxxx-xxxx-xxxx-b0842c922b3f",
...
},
"effectiveIntegrationRuntime": "AutoResolveIntegrationRuntime (West Europe)",
"executionDuration": 0,
"durationInQueue": {
"integrationRuntimeQueue": 0
},
"billingReference": {
"activityType": "ExternalActivity",
"billableDuration": [
{
"meterType": "AzureIR",
"duration": 0.016666666666666666,
"unit": "Hours"
}
]
}
}
I've tried both the parent pipeline runid and the child pipeline runid in the URL and both return an empty Value
array.
What am I missing?
答案1
得分: 1
你需要确保要捕获执行详细信息的流水线是通过“触发”模式而不是“调试”模式执行的。因此,您需要发布和触发该流水线,捕获流水线运行 ID,并将其传递给 Web 活动。
英文:
You need to make sure that the pipeline whose execution details you want to capture is executed via 'Trigger' mode and not 'Debug' mode. So , you need to publish and trigger the pipeline, capture the pipeline runid and pass the same in the web activity.
答案2
得分: 1
以下是翻译好的部分:
已同意与 @AnnuKumari 达成协议,要获取活动运行详情,管道应以触发器方式运行,而不是调试模式,遇到了相同的问题,但当我触发它时,我获得了一个输出。还请确保这是正确的,并且运行存在于指定的时间间隔内(UTC)。
此外,由于您想要获取子管道活动的活动运行详情,您需要提供其运行 ID,如 @{activity('Execute Pipeline1').output.pipelineRunId}
示例 URL:
https://management.azure.com/subscriptions/@{pipeline().globalParameters.SubscriptionId}/resourceGroups/@{pipeline().globalParameters.ResourceGrpName}/providers/Microsoft.DataFactory/factories/@{pipeline().DataFactory}/pipelineruns/@{activity('Execute Pipeline1').output.pipelineRunId}/queryActivityRuns?api-version=2018-06-01
我的执行:
输出:
英文:
Agreed with @AnnuKumari to get activity run details the pipeline should be run with trigger does not debug mode faced same issue but when I triggered it I got an output. Also make sure that is right one and runs exist between the interval specified (UTC).
Also, as you want the activity run details of child pipeline activity. you need to provide its run id as @{activity('Execute Pipeline1').output.pipelineRunId}
Sample URL:
https://management.azure.com/subscriptions/@{pipeline().globalParameters.SubscriptionId}/resourceGroups/@{pipeline().globalParameters.ResourceGrpName}/providers/Microsoft.DataFactory/factories/@{pipeline().DataFactory}/pipelineruns/@{activity('Execute Pipeline1').output.pipelineRunId}/queryActivityRuns?api-version=2018-06-01
My execution:
Output:
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论