嵌套逻辑应用程序异步模式不等待完成

问题描述 投票:0回答:1

我正在尝试使用逻辑应用程序协调 Azure 中三个虚拟机的启动/关闭。

我使用三个不同的逻辑应用程序实现了每个虚拟机的关闭。这些逻辑应用程序使用“调用资源操作”操作来调用某些 shell 脚本来停止某些进程,然后释放虚拟机。

我还实现了两个额外的逻辑应用程序,用于要求按正确的顺序启动和关闭。

但我的问题是,应该编排启动/关闭的主要逻辑应用程序无法正常工作,所有子操作都在等待完成的情况下执行。

在编排逻辑应用程序中,我在调用嵌套逻辑应用程序的操作上启用了“异步模式”。作为主要逻辑应用程序之一的示例:

在子逻辑应用程序中,我启用了异步响应

但我的问题是,当我触发主逻辑应用程序时,所有子逻辑应用程序都会被调用并完成,而无需等待完成。我期望异步模式将轮询执行状态以完成,但由于某种原因它不起作用。

我注意到,在来自子逻辑应用执行的响应标头中,尽管响应代码是 202,但没有位置标头

{
    "statusCode": 202,
    "headers": {
        "x-ms-workflow-run-id": "08585079527234022223195797613CU48",
        "x-ms-correlation-id": "834891e6-2222-483d-b46e-d5a0fe2bd1b9",
        "x-ms-client-tracking-id": "2222079527235116808134064239CU19",
        "x-ms-trigger-history-name": "22225079527234026823195797613CU48",
        "x-ms-execution-location": "northeurope",
        "x-ms-workflow-system-id": "/locations/northeurope/scaleunits/prod-16/workflows/2222ed6cb2f143a0b895c5792f30dcf6",
        "x-ms-workflow-id": "2222d6cb2f143a0b895c5792f30dcf6",
        "x-ms-workflow-version": "22225079558278323382",
        "x-ms-workflow-name": "XXXXX-XXXXX-XXXXX-XXXXX-XXXX",
        "x-ms-tracking-id": "741b6bdb-2222-419b-935f-cdcc7a16bb61"
    }
}

我还注意到,当我打开子逻辑应用执行的响应操作详细信息时,虽然响应代码是 202,但设置详细信息并不反映我的原始配置。

知道可能是什么问题吗?

致以诚挚的问候。

asynchronous azure-logic-apps
1个回答
0
投票

但我的问题是,当我触发主逻辑应用程序时,所有子逻辑应用程序都会被调用并完成,而无需等待完成

是的,如果您在收到http请求后立即有响应操作,这就是它的工作原理,并且我同意@Skin。

您需要在子逻辑应用程序中完成操作后保持响应。

enter image description here

如果您在正文中发送有关 VM 的内容,您将收到更改后的配置作为响应。

© www.soinside.com 2019 - 2024. All rights reserved.