azure - 为 ARM 中的生产 Azure 函数槽保留当前 AppSettings
问题描述
我希望为 Azure 函数实现一个暂存槽。我尝试采用的方法是在 ARM 模板中定义插槽以及其他基础设施和应用程序设置。然后,我会将应用程序部署到暂存槽并使用az
.
我遇到的问题是应用程序设置有时包含特定于正在运行的应用程序版本的设置。在 ARM 模板中,我想将新的应用程序设置应用于暂存槽,同时保留生产槽上某些设置的当前设置值。只有在接下来的几个步骤中发生交换时,才应更新这些生产槽设置。
我一直无法找到在 ARM 中表达这一点的方法。我尝试使用引用将 appsetting 属性设置为其当前值。我不确定这是否可行,但我收到一个通用验证错误,没有详细说明失败的原因。
有没有办法在 ARM 中保持一些应用程序设置不变?
更新
这是我尝试保留配置的现有值的片段。
{
"type": "Microsoft.Web/sites/config",
"name": "MyApp/appsettings",
"apiVersion": "2019-08-01",
"properties": {
"MY_APP_CONFIG1": "[reference(resourceId('Microsoft.Web/sites/config', 'MyApp', 'appsettings'), '2019-08-01', 'Full').properties.MY_APP_CONFIG1]"
}
}
此处介绍的引用函数未通过模板验证。它给我的唯一信息是The deployment validation failed
。
解决方案
不,您必须在模板中设置所有这些。要将不同的值传递给您用于部署到不同环境(插槽)的模板,您可以使用参数(或参数文件)。您可能可以使用reference(xxx, xxx, 'Full')
推荐阅读
- python - C# WPF + Python
- java - 如何在枚举构造函数中 @Autowire @Component`s?
- css - 在 React 中使用 CSS Peek
- java - Spring Boot:Swagger-UI 白标错误
- python - 依赖于另一个循环的 Tk 事件循环
- python - .py 到 exe 不产生 matplotlib 图
- performance - 多个时间序列的超参数调整
- sqlite - 如何对额外列中的两列行元素求和?
- git - .gitignore .gitattributes 声明的所有二进制文件
- javascript - 如何将值赋给会话密钥并同时将其作为参数应用?[Laravel 惯性 Vue]