根据对 Azure 应用程序网关的传入请求触发 Azure 函数

Posted

技术标签:

【中文标题】根据对 Azure 应用程序网关的传入请求触发 Azure 函数【英文标题】:Trigger Azure Function based on incoming request to Azure Application Gateway 【发布时间】:2021-10-13 11:17:42 【问题描述】:

我有一个跨两个 Azure 虚拟机以及 Azure 应用程序网关部署的 Web 应用程序。现在,我想关闭两个 Azure VM 并查找任何传入请求,并根据该传入请求触发 Azure Function 应用程序以重新启动 Azure 虚拟机并使其在接下来的 1 小时内保持打开状态。这个过程将是自动化的。

如何在传入请求时触发 azure function app?

谁能帮我获取一些相关的参考资料或好的链接

【问题讨论】:

【参考方案1】:

您可以使用 Powershell + Azure Functions 来启动/停止虚拟机:

Start-AzVM -ResourceGroupName $ResourceGroupName -Name $VMName -Verbose

Stop-AzVM -ResourceGroupName $ResourceGroupName -Name $VMName -Force -Verbose

但要拦截请求并调用这些函数,我认为(目前)还没有办法,因为 App Gateway 使用运行状况探测来不断检查后端池的状态。

【讨论】:

最初两个虚拟机都将停止,这会导致后端池运行状况不佳。在这里,我尝试根据要从指标(监控)跟踪的传入请求开始。与此实现相关的任何示例都非常有帮助

以上是关于根据对 Azure 应用程序网关的传入请求触发 Azure 函数的主要内容,如果未能解决你的问题,请参考以下文章

10.Azure应用程序网关(上)

Azure API 网关根据租户 ID 将 url 重新路由到不在 Azure 上托管的后端应用程序?

如何在 Azure DevOps 中自动触发构建拉取请求?

保护访问以触发 Azure 逻辑应用(HTTP 请求触发器)

如何编写将部分传入消息传递给服务总线队列的 Azure HTTP 触发器函数?

Azure 函数实例和缩放