Код ошибки Bicep — BCP139
Эта ошибка возникает при resource
развертывании ресурсов в другой области, отличной от целевой. Вместо этого следует использовать module
. Дополнительные сведения см. в следующих статьях на основе области:
- Группа ресурсов: область для разной группы ресурсов.
- Подписка: области развертывания.
- Группа управления: области развертывания.
- Клиент: области развертывания.
Описание ошибки
A resource's scope must match the scope of the Bicep file for it to be deployable. You must use modules to deploy resources to a different scope.
Решение
Чтобы развернуть ресурсы в области, которая не является целевой областью, добавьте 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.