Bicep-foutcode - BCP139
Deze fout treedt op wanneer u resource
resources implementeert in een ander bereik dan het doelbereik. module
Gebruik in plaats daarvan. Zie de volgende artikelen op basis van het bereik voor meer informatie:
- Resourcegroep: Bereik tot verschillende resourcegroep.
- Abonnement: Implementatiebereiken.
- Beheergroep: Implementatiebereiken.
- Tenant: Implementatiebereiken.
Foutbeschrijving
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.
Oplossing
Als u resources wilt implementeren in een bereik dat niet het doelbereik is, voegt u een module
.
Voorbeelden
In het volgende voorbeeld wordt een opslagaccountresource geïmplementeerd in een andere resourcegroep in hetzelfde abonnement. In het voorbeeld wordt de fout gegenereerd omdat het module
type declaratie niet wordt gebruikt:
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'
}
U kunt de fout oplossen met behulp van het module
type declaratie:
param otherResourceGroup string
// module deployed to a different resource group in the same subscription
module exampleModule 'module.bicep' = {
name: 'deployStorageToAnotherRG'
scope: resourceGroup(otherResourceGroup)
}
In het volgende voorbeeld wordt een resourcegroep geïmplementeerd in een ander abonnement. In het voorbeeld wordt de fout gegenereerd omdat module
deze niet wordt gebruikt
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'
}
U kunt de fout oplossen met behulp van het module
type declaratie:
targetScope = 'subscription'
param otherSubscriptionID string
// module deployed to a different subscription
module exampleModule 'module.bicep' = {
name: 'deployToDifferentSub'
scope: subscription(otherSubscriptionID)
}
Volgende stappen
Zie Bicep Core Diagnostics voor meer informatie over Bicep-fout- en waarschuwingscodes.