根据对 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 函数的主要内容,如果未能解决你的问题,请参考以下文章
Azure API 网关根据租户 ID 将 url 重新路由到不在 Azure 上托管的后端应用程序?
保护访问以触发 Azure 逻辑应用(HTTP 请求触发器)