逻辑应用程序和长时间运行的Azure Function (Powershell)

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

我有一个用 Powershell 编写的函数应用程序,它由逻辑应用程序触发,并发送回逻辑应用程序以下响应:

 Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
        StatusCode = [HttpStatusCode]::OK
        Body = [ordered]@{
        "Subject" = "$scriptName executed successfully."
        "MailTemplate" = "$template"
    } | ConvertTo-Json
    })

问题是这个函数应用程序有时甚至可以运行长达 10 分钟,在这种情况下它会返回错误。我看到可以实现 Webhook 活动来解决该问题,但在这种情况下,Function App 必须返回响应两次 - 一次在开始时状态代码为 200,一次在最后 - 这使用上述方法是不可能的,因为代码中只能有一个 OutputBinding。如何解决这个问题?我还尝试在我的逻辑应用程序中添加“直到”循环,但这仍然给我带来同样的错误。

powershell azure-functions webhooks azure-logic-apps
1个回答
0
投票

逻辑应用程序和长时间运行的 Azure Function (Powershell

我遵循了 SO-Thread's 答案,您可以在 Http 操作中启用异步操作,如下所示:

enter image description here

或者您可以启用以下响应操作:

enter image description here

另一种方法是您可以将函数的响应发送到服务总线中的队列,然后您可以使用下面的触发器,因此响应位于队列中并在逻辑应用程序中使用队列消息:

enter image description here

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