gpt4 book ai didi

azure - 执行直到Azure逻辑应用程序中的条件无法按预期工作

转载 作者:行者123 更新时间:2023-12-02 06:29:34 25 4
gpt4 key购买 nike

我有一个使用 Until 操作的逻辑应用。该条件检查 API 调用的状态:

enter image description here

"Wait_Until_Cube_Processing_is_finished_": {
"actions": {
"Get_Status_of_Model": {
"inputs": {
"authentication": {
"audience": "https://*.asazure.windows.net",
"clientId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx",
"secret": "OxxxxxxxxxxxxzskHxxxxxxxxxxxxxutjODXxxxxxx=",
"tenant": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type": "ActiveDirectoryOAuth"
},
"method": "GET",
"uri": "https://northeurope.asazure.windows.net/servers/ServerName/models/modelName/refreshes/@{body('Filter_array')[0].refreshId}"
},
"runAfter": {},
"type": "Http"
}
},
"expression": "@equals('status', 'succeeded')",
"limit": {
"timeout": "PT1H"
},
"runAfter": {
"Filter_array": [
"Succeeded"
]
},
"type": "Until"
}
},

API 返回这样的状态:

{
"startTime": "2019-03-10T15:50:55.1278586Z",
"type": "full",
"status": "notStarted",
"currentRefreshType": "full",
"objects": [
{
"table": "Table1",
"partition": "Partition_03",
"status": "notStarted"
}
]
}

我的情况不起作用。它运行一小时,一小时后进入下一步。但是我的 http 请求在 20 分钟后收到以下状态:

 {
"refreshId": "dbxxxxxx-exxx-xxxx-xxx-3xxxxxxdaxxx",
"startTime": "2019-03-10T15:50:55.48",
"endTime": "2019-03-10T16:14:56.267",
"status": "succeeded"
}

您知道为什么我的 Until 操作不起作用吗?

最佳答案

这是你的条件表达式问题。您的表达式为 "expression": "@equals('status', 'succeeded')"。这意味着您将字符串 status 与字符串 succeeded 进行比较,它们永远不会相等。这就是为什么你的循环总是遇到超时 PT1H 。超时默认值为PT1H,即一小时。

所以你应该获取请求正文,然后将正文中的状态与成功进行比较。流程如下:

enter image description here

响应正文是数组格式,所以如果你想获取我示例中的状态,表达式为@body('HTTP_2')['properties']['state']下面是我的回复正文,你可以引用这个表达。

enter image description here

关于azure - 执行直到Azure逻辑应用程序中的条件无法按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55090225/

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