使用 ARM 模板动态部署 Azure Function enabled/disabled
Deploy Azure Function dynamically enabled/disabled using ARM template
我有一个 class 库,它是使用 ARM 模板部署的基于计时器的 Azure 函数。一切正常,除了我希望基于目标环境的行为略有不同。当部署到测试环境时,我希望该功能最初被禁用,但在生产中它应该始终被启用。这可能吗?
我目前的解决方法是设置一个应用程序设置,告诉该功能在设置为特定值时立即退出。然而,这似乎是一个糟糕的解决方案,特别是因为定时器触发的函数执行得相当频繁。为了解决这个问题,我在 Azure 门户中使用以下开关手动禁用了该功能:
是否可以从 ARM 模板中指定此开关的所需状态?
看来您不需要在应用程序设置中设置特定值,azure 函数有一个内置的 属性。
尝试使用下面模板片段中的设置来禁用该功能,应该可以。
"siteConfig": {
"appSettings": [
{
"name": "AzureWebJobs.MessageQueueMonitorFunction.Disabled",
"value": "true"
}
]
}
扩展 Joy 的回答,效果非常好!
为了大家的利益,上面的"name"属性是这样写的:
AzureWebJobs.<YouFunctionName>.Disabled
其中 <YouFunctionName>
在您的 template.json 中指定:
{
"resources": [
"name": "<YourFunctionName>",
"type": "functions",
"properties": {
"config": {
"bindings": [
{
...
}
]
}
}
]
}
我有一个 class 库,它是使用 ARM 模板部署的基于计时器的 Azure 函数。一切正常,除了我希望基于目标环境的行为略有不同。当部署到测试环境时,我希望该功能最初被禁用,但在生产中它应该始终被启用。这可能吗?
我目前的解决方法是设置一个应用程序设置,告诉该功能在设置为特定值时立即退出。然而,这似乎是一个糟糕的解决方案,特别是因为定时器触发的函数执行得相当频繁。为了解决这个问题,我在 Azure 门户中使用以下开关手动禁用了该功能:
是否可以从 ARM 模板中指定此开关的所需状态?
看来您不需要在应用程序设置中设置特定值,azure 函数有一个内置的 属性。
尝试使用下面模板片段中的设置来禁用该功能,应该可以。
"siteConfig": {
"appSettings": [
{
"name": "AzureWebJobs.MessageQueueMonitorFunction.Disabled",
"value": "true"
}
]
}
扩展 Joy 的回答,效果非常好!
为了大家的利益,上面的"name"属性是这样写的:
AzureWebJobs.<YouFunctionName>.Disabled
其中 <YouFunctionName>
在您的 template.json 中指定:
{
"resources": [
"name": "<YourFunctionName>",
"type": "functions",
"properties": {
"config": {
"bindings": [
{
...
}
]
}
}
]
}