Kód chyby Bicep – BCP139
K této chybě dochází, když použijete resource
k nasazení prostředků do jiného oboru, než je cílový obor. Měli byste místo toho použít module
. Další informace najdete v následujících článcích založených na oboru:
- Skupina prostředků: Rozsah na jinou skupinu prostředků
- Předplatné: Rozsahy nasazení.
- Skupina pro správu: Rozsahy nasazení
- Tenant: Obory nasazení.
Popis chyby
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.
Řešení
Pokud chcete nasadit prostředky do oboru, který není cílovým oborem, přidejte .module
Příklady
Následující příklad nasadí prostředek účtu úložiště do jiné skupiny prostředků ve stejném předplatném. Příklad vyvolá chybu, protože module
typ deklarace se nepoužívá:
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'
}
Chybu můžete opravit pomocí module
typu deklarace:
param otherResourceGroup string
// module deployed to a different resource group in the same subscription
module exampleModule 'module.bicep' = {
name: 'deployStorageToAnotherRG'
scope: resourceGroup(otherResourceGroup)
}
Následující příklad nasadí skupinu prostředků do jiného předplatného. Příklad vyvolá chybu, protože module
se nepoužívá.
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'
}
Chybu můžete opravit pomocí module
typu deklarace:
targetScope = 'subscription'
param otherSubscriptionID string
// module deployed to a different subscription
module exampleModule 'module.bicep' = {
name: 'deployToDifferentSub'
scope: subscription(otherSubscriptionID)
}
Další kroky
Další informace o kódech chyb a upozornění bicep najdete v tématu Diagnostika jádra Bicep.