如何立即从Azure功能PowerShell HTTP触发器做出响应,然后将带外响应到另一个URL#34;?

时间:2017-06-06 16:06:09

标签: powershell azure azure-functions

我有一个PowerShell HTTP触发器连接到Slack命令。如果PS触发器响应<一切都很好。我有这个工作

如果需要更长时间,Slack需要两件事,立即回复,然后在response_url上带外响应。

这很有效。如果我在sleep 10之后加set-content,那么返回和Slack都没有超时。

有没有办法在PowerShell中实现这一目标?

@"
{
  "response_type": "ephemeral",
   "text": "Checking $(get-date) ..."
}
"@ |  set-content $res -Encoding Ascii

带外作品。

$b = @"
{
    "response_type": "in_channel",
    "text": "It's 80 degrees right now.",
    "attachments": [
        {
            "text":"Partly cloudy today and tomorrow"
        }
    ]
}
"@

Invoke-RestMethod $responseUrl -Method post -Body $b -ContentType "application/json"

1 个答案:

答案 0 :(得分:3)

在Azure Functions中执行此操作的正确模式是让您的HTTP触发器功能只是将消息推送到队列中,然后立即返回。然后让另一个Azure函数正在侦听该队列,然后在那里运行你的逻辑。