手臂模板(二头肌):合并应用程序设置时的循环依赖(列表功能)

Pet*_*yss 5 circular-dependency azure azure-rm-template infrastructure-as-code azure-bicep

我正在尝试通过二头肌文件更新应用程序服务的应用程序设置。

在我的二头肌模板中执行此操作时:

var currentAppSettings = list('Microsoft.Web/sites/appServiceName/config/appsettings', '2018-11-01')

var newAppSettings = {
  test: 'testValue'
}

var mergedAppSettings = union(currentAppSettings, newAppSettings)

resource appServiceConfig 'Microsoft.Web/sites/config@2018-11-01' = {
  name: 'appServiceName/appSettings'
  properties: mergedAppSettings
}
Run Code Online (Sandbox Code Playgroud)

...部署二头肌文件时出现循环依赖错误:

"Deployment template validation failed: 'Circular dependency detected on resource: '/subscriptions/293d7347-b26f-4413-9986-d61717aaff26/resourceGroups/WSAPlayground/providers/Microsoft.Web/sites/playground-fitxp-backend-euw-wa/config/appSettings'. Please see https://aka.ms/arm-template/#resources for usage details.'."
Run Code Online (Sandbox Code Playgroud)

有没有办法在不出现依赖错误的情况下执行此操作?

Miq*_*Miq 5

尝试使用模块。二头肌模块本质上是嵌套部署。在顶级文件(即主文件)中提取当前值并将它们作为对象类型的参数传递给子模块(appsettings),然后执行合并和更新。线索是将更新部署在与读取当前值不同的模块中。

  • 是的,这可行,我们同时找到了相同的解决方案。不管怎么说,还是要谢谢你! (2认同)
  • 当我有一个调用 2 个模块的 main.bicep 时,它对我不起作用。一个用于创建 FunctionApp,另一个用于添加/合并应用程序设置。 (2认同)