azure 二头肌:合并对象以避免冗余

bnl4lu3b  于 2023-04-22  发布在  其他
关注(0)|答案(1)|浏览(74)

我在一个bicep脚本中定义了多个应用程序服务。对于每一个,我使用配置资源来定义配置。

resource appSettings1 'Microsoft.Web/sites/config@2022-03-01' = {
  parent: appService1
  name: 'appsettings'
  properties: {
    CONFIG1: value1
    CONFIG2: value2
    COMMON_CONFIG1: commom1
    COMMON_CONFIG2: commom2
  }
}
resource appSettings2 'Microsoft.Web/sites/config@2022-03-01' = {
  parent: appService2
  name: 'appsettings'
  properties: {
    CONFIG3: value3
    CONFIG4: value4
    COMMON_CONFIG1: commom1
    COMMON_CONFIG2: commom2
  }
}

在应用程序服务中有很多通用设置。有没有一种方法可以让我只定义一次通用设置,然后将它们注入到每个配置中,这样我就不必在每个应用程序服务中定义相同的设置?就像这样:

var commomSettings: {
    COMMON_CONFIG1: commom1
    COMMON_CONFIG2: commom2
}

resource appSettings1 'Microsoft.Web/sites/config@2022-03-01' = {
  parent: appService1
  name: 'appsettings'
  properties: {
    CONFIG1: value1
    CONFIG2: value2
    ...commonSettings //somehow inject commonSettings
  }
}
wpcxdonn

wpcxdonn1#

是的,你是在正确的轨道上,你可以使用union函数来合并对象:

var commomSettings = {
  COMMON_CONFIG1: commom1
  COMMON_CONFIG2: commom2
}

resource appSettings1 'Microsoft.Web/sites/config@2022-03-01' = {
  parent: appService1
  name: 'appsettings'
  properties: union(commomSettings, {
      CONFIG1: value1
      CONFIG2: value2
    }
  )
}

相关问题