Delen via


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:

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.