Azure Bicep:在现有命名空间中从另一个资源组创建 ServiceBus 订阅

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

我在资源组 A 中有一个现有的 ServiceBus 命名空间和主题,并且我正在开发一个新的二头肌模板,该模板将把资源部署到资源组 B,在此模板中,我必须为资源组中的主题创建一个新的订阅A.

到目前为止我已经尝试过以下操作,但没有成功:

param EngineServiceBus string
param EngineTopicName string
param EngineMatasPlusSubscriber string

resource EngineServicebus 'Microsoft.ServiceBus/namespaces@2022-10-01-preview' existing = {
  name: EngineServiceBus
  scope: resourceGroup(offerEngineRG)
}
resource EngineTopic 'Microsoft.ServiceBus/namespaces/topics@2022-10-01-preview' existing = {
  name: EngineTopicName
  parent: EngineServicebus

}

resource EngineSubscriber 'Microsoft.ServiceBus/namespaces/topics/subscriptions@2022-10-01-preview' = {
  name: '${EngineServicebus.name}/${EngineTopic.name}/${EngineMatasPlusSubscriber}'
}
azure azureservicebus azure-resource-manager azure-bicep
1个回答
0
投票

从父二头肌文件调用此模块时,您需要将该模块scopes到资源组。

在您的订阅模块中,删除范围:

// subscription.bicep

param EngineServiceBus string
param EngineTopicName string
param EngineMatasPlusSubscriber string

resource EngineServicebus 'Microsoft.ServiceBus/namespaces@2022-10-01-preview' existing = {
  name: EngineServiceBus
}
resource EngineTopic 'Microsoft.ServiceBus/namespaces/topics@2022-10-01-preview' existing = {
  name: EngineTopicName
  parent: EngineServicebus

}

resource EngineSubscriber 'Microsoft.ServiceBus/namespaces/topics/subscriptions@2022-10-01-preview' = {
  name: EngineMatasPlusSubscriber
  parent: EngineTopic
}

然后从父级,在模块上添加范围

param offerEngineRG string
param EngineServiceBus string
param EngineTopicName string
param EngineMatasPlusSubscriber string

module createSubscription 'subscription.bicep' = {
  name: '...'
  scope: resourceGroup(offerEngineRG) // scope of the deployment
  params: {    
    EngineServiceBus: EngineServiceBus
    EngineTopicName: EngineTopicName
    EngineMatasPlusSubscriber: EngineMatasPlusSubscriber
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.