gpt4 book ai didi

azure - 在父级尚未部署时使用 bicep 引用模块内的父级资源?

转载 作者:行者123 更新时间:2023-12-03 01:17:26 24 4
gpt4 key购买 nike

我正在尝试在二头肌中部署子模块,但我收到未找到错误,因为其父模块尚未部署。

这是父二头肌代码:

@description('The name of the app service. full site name will be DT-xxx-Open')
param site_name string
var full_site_name = 'DT-${site_name}-Open'

@description('Resource location')
param location string = resourceGroup().location

resource app 'Microsoft.Web/sites@2021-02-01' = {
kind: 'app'
name: full_site_name
location: location
...
}

module site_config 'modules/appservice-config.bicep' = {
name: 'site_config'
params: {
resource_name: full_site_name
resource_location: location
}
}

这是我的模块二头肌文件:

  @description('Resource name')
param resource_name string

(error happens at this line) resource site_name_resource 'Microsoft.Web/sites@2021-02-01' existing = {
name: resource_name
}

resource site_name_logs 'Microsoft.Web/sites/config@2021-02-01' = {
parent: site_name_resource
name: 'logs'
...
}

但问题是我收到未找到错误,因为其父服务部署尚未完成,如果我重试,它将正常工作!

我想知道,在完成其父部署后,有什么方法可以运行该模块吗?

最佳答案

调用模块时,您需要添加dependsOn
二头肌使用implicit dependency因此,您可以使用父资源名称作为模块的参数:

module site_config 'module.bicep' = {
name: 'site_config'
params: {
resource_name: app.name
...
}
}

这相当于:

module site_config 'module.bicep' = {
name: 'site_config'
params: {
resource_name: full_site_name
}
dependsOn: [ app ]
}

关于azure - 在父级尚未部署时使用 bicep 引用模块内的父级资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74111836/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com