Bicep 诊断代码 - BCP139
当使用 resource
将资源部署到与目标范围不同的范围时,会发生此诊断。 应改用 module
。 有关详细信息,请参阅根据该范围的以下文章:
- 资源组:将范围限定为其他资源组。
- 订阅:部署范围。
- 管理组:部署范围。
- 租户:部署范围。
说明
资源的范围必须与 Bicep 文件的范围匹配,才可用于部署。 必须使用模块将资源部署到其他范围。
Level
错误
解决方案
若要将资源部署到并非目标范围的范围,请添加一个 module
。
示例
以下示例会将存储帐户资源部署到同一订阅中的不同资源组。 该示例引发诊断,因为未使用 module
声明类型:
param otherResourceGroup string
param location string
// resource deployed to a different resource group in the same subscription
resource storage 'Microsoft.Storage/storageAccounts@2023-05-01' = {
name: uniqueString(resourceGroup().id)
scope: resourceGroup(otherResourceGroup)
location: location
sku: {
name: 'Standard_LRS'
}
kind: 'StorageV2'
}
可使用 module
声明类型修复诊断:
param otherResourceGroup string
// module deployed to a different resource group in the same subscription
module exampleModule 'module.bicep' = {
name: 'deployStorageToAnotherRG'
scope: resourceGroup(otherResourceGroup)
}
以下示例会将资源组部署到其他订阅。 该示例引发诊断,因为未使用 module
targetScope = 'subscription'
param otherSubscriptionID string
// resource deployed to a different subscription
resource exampleResource 'Microsoft.Resources/resourceGroups@2024-03-01' = {
name: 'deployToDifferentSub'
scope: subscription(otherSubscriptionID)
location: 'eastus'
}
可使用 module
声明类型修复诊断:
targetScope = 'subscription'
param otherSubscriptionID string
// module deployed to a different subscription
module exampleModule 'module.bicep' = {
name: 'deployToDifferentSub'
scope: subscription(otherSubscriptionID)
}
后续步骤
有关 Bicep 诊断的详细信息,请参阅 Bicep 核心诊断。