如何使用 Bicep 模块配对变量和数组并为 Azure 服务总线队列创建名称?

问题描述 投票:0回答:1

如何使用 bicep 模块将变量和数组配对在一起?

param company string
param environment string
param queuesName array = [
company1
company2
company3
]

编写 bicep 模块以在 servicebusQueues 中将它们配对 例如:公司+环境+公司1,公司+环境+公司2 这里的公司和环境都是一样的,除了 queuesName 每次都变了

azureservicebus azure-bicep
1个回答
0
投票

不太确定更广泛的背景是什么,但是......

param company string = 'Contoso'
param environment string = 'Dev'
param queuesName array = [
'company1'
'company2'
'company3'
]

var fullQueueNames = [for queueName in queuesName: '${company}-${environment}-${queueName}' ]

这将创建一个包含 3 个连接值的数组;

"Contoso-Dev-company1"
"Contoso-Dev-company2"
"Contoso-Dev-company3"

然后我可以开始创建服务总线和队列;

param company string = 'Contoso'
param environment string = 'Dev'
param queuesName array = [ 'company1', 'company2', 'company3']
param location string = resourceGroup().location

var fullQueueNames = [for queueName in queuesName: '${company}-${environment}-${queueName}' ]

resource serviceBusNamespace 'Microsoft.ServiceBus/namespaces@2021-11-01' = {
  name: company
  location: location
  sku: {
    name: 'Standard'
  }
  properties: {}
}

resource serviceBusQueue 'Microsoft.ServiceBus/namespaces/queues@2021-11-01' = [for queueName in fullQueueNames : {
  parent: serviceBusNamespace
  name: queueName
  properties: {
    lockDuration: 'PT5M'
    maxSizeInMegabytes: 1024
    requiresDuplicateDetection: false
    requiresSession: false
    defaultMessageTimeToLive: 'P10675199DT2H48M5.4775807S'
    deadLetteringOnMessageExpiration: false
    duplicateDetectionHistoryTimeWindow: 'PT10M'
    maxDeliveryCount: 10
    autoDeleteOnIdle: 'P10675199DT2H48M5.4775807S'
    enablePartitioning: false
    enableExpress: false
  }
}]
© www.soinside.com 2019 - 2024. All rights reserved.