如何在消费函数应用程序的 ARM 模板中实施横向扩展限制
How can I enforce scale out limit in an ARM template for a consumption function app
我有一个函数应用程序,我想防止它扩展到多个实例,因为函数的性质意味着如果允许它扩展就会出现并发问题。
在我对消费功能应用程序特有的这个问题的研究中,我发现的很少。我知道这是可行的,因为我可以在 Azure 门户中设置横向扩展限制,如下图所示。配置此选项后,我的功能完全按照预期工作。
但是,我想在我的 ARM 模板中配置它,以便新的部署已经设置好,但是我在 ARM 模板中找不到与该设置对应的任何内容。我什至尝试导出模板,然后更改 Scale out 配置并再次导出以比较两个模板,但没有区别。
如果有人对此有更多了解,或者我如何能以其他方式实现同样的目标,将不胜感激。
您可以将 WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT
应用程序设置设为 1(请参阅文档 here)。
在 ARM 模板中,您可以像这样为函数添加应用程序设置:
{
"type": "Microsoft.Web/sites",
"apiVersion": "2018-11-01",
"name": "<functionname>",
"location": "<location>",
"dependsOn": [...],
"tags": {},
"kind": "functionapp,linux",
"identity": {
"type": "SystemAssigned"
},
"properties": {
"name": "<functionname>",
"siteConfig": {
"appSettings": [
{
"name": "WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT",
"value": "1"
},
...
]
}
}
}
我有一个函数应用程序,我想防止它扩展到多个实例,因为函数的性质意味着如果允许它扩展就会出现并发问题。
在我对消费功能应用程序特有的这个问题的研究中,我发现的很少。我知道这是可行的,因为我可以在 Azure 门户中设置横向扩展限制,如下图所示。配置此选项后,我的功能完全按照预期工作。
但是,我想在我的 ARM 模板中配置它,以便新的部署已经设置好,但是我在 ARM 模板中找不到与该设置对应的任何内容。我什至尝试导出模板,然后更改 Scale out 配置并再次导出以比较两个模板,但没有区别。
如果有人对此有更多了解,或者我如何能以其他方式实现同样的目标,将不胜感激。
您可以将 WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT
应用程序设置设为 1(请参阅文档 here)。
在 ARM 模板中,您可以像这样为函数添加应用程序设置:
{
"type": "Microsoft.Web/sites",
"apiVersion": "2018-11-01",
"name": "<functionname>",
"location": "<location>",
"dependsOn": [...],
"tags": {},
"kind": "functionapp,linux",
"identity": {
"type": "SystemAssigned"
},
"properties": {
"name": "<functionname>",
"siteConfig": {
"appSettings": [
{
"name": "WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT",
"value": "1"
},
...
]
}
}
}