4
我有一個PowerShell HTTP觸發器連接到Slack命令。如果PS觸發器在3秒內響應<一切都很好。我有這個工作如何從Azure功能PowerShell HTTP觸發器立即響應,然後響應「帶外到另一個Url」?
如果需要更長時間,Slack需要兩件事情,立即響應,然後在response_url
的帶外響應。
這工作。如果我在set-content
之後放置了sleep 10
,則返回和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"
「簡單」的方法是始終返回即時響應,然後在帶外執行,即使它在3秒內完成。否則,您需要將您正在進行的操作和時間設置爲背景,以便在2 - 2.5秒後您可以返回即時響應。如果您可以在Azure函數中運行空間(異步調用)以及等待超時,那麼這是可行的。 – briantist