我正在尝试使用逻辑应用程序协调 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,但设置详细信息并不反映我的原始配置。
知道可能是什么问题吗?
致以诚挚的问候。
但我的问题是,当我触发主逻辑应用程序时,所有子逻辑应用程序都会被调用并完成,而无需等待完成
是的,如果您在收到http请求后立即有响应操作,这就是它的工作原理,并且我同意@Skin。
您需要在子逻辑应用程序中完成操作后保持响应。
如果您在正文中发送有关 VM 的内容,您将收到更改后的配置作为响应。