Bicep-felkod – BCP139
Det här felet uppstår när du använder resource
för att distribuera resurser till ett annat omfång än målområdet. Du bör använda module
i stället. Mer information finns i följande artiklar baserat på omfånget:
- Resursgrupp: Omfång för olika resursgrupper.
- Prenumeration: Distributionsomfång.
- Hanteringsgrupp: Distributionsomfång.
- Klientorganisation: Distributionsomfång.
Felbeskrivning
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.
Lösning
Om du vill distribuera resurser till ett omfång som inte är målomfånget lägger du till en module
.
Exempel
I följande exempel distribueras en lagringskontoresurs till en annan resursgrupp i samma prenumeration. Exemplet genererar felet eftersom deklarationstypen module
inte används:
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'
}
Du kan åtgärda felet med hjälp av deklarationstypen module
:
param otherResourceGroup string
// module deployed to a different resource group in the same subscription
module exampleModule 'module.bicep' = {
name: 'deployStorageToAnotherRG'
scope: resourceGroup(otherResourceGroup)
}
I följande exempel distribueras en resursgrupp till en annan prenumeration. Exemplet genererar felet eftersom module
det inte används
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'
}
Du kan åtgärda felet med hjälp av deklarationstypen module
:
targetScope = 'subscription'
param otherSubscriptionID string
// module deployed to a different subscription
module exampleModule 'module.bicep' = {
name: 'deployToDifferentSub'
scope: subscription(otherSubscriptionID)
}
Nästa steg
Mer information om Bicep-fel och varningskoder finns i Bicep Core Diagnostics.