我有一个用 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。如何解决这个问题?我还尝试在我的逻辑应用程序中添加“直到”循环,但这仍然给我带来同样的错误。
逻辑应用程序和长时间运行的 Azure Function (Powershell
我遵循了 SO-Thread's 答案,您可以在 Http 操作中启用异步操作,如下所示:
或者您可以启用以下响应操作:
另一种方法是您可以将函数的响应发送到服务总线中的队列,然后您可以使用下面的触发器,因此响应位于队列中并在逻辑应用程序中使用队列消息: