Udostępnij za pośrednictwem


Kod błędu Bicep — BCP139

Ten błąd występuje, gdy używasz resource metody do wdrażania zasobów w innym zakresie niż docelowy. Zamiast tego należy użyć polecenia module . Aby uzyskać więcej informacji, zobacz następujące artykuły na podstawie zakresu:

Opis błędu

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.

Rozwiązanie

Aby wdrożyć zasoby w zakresie, który nie jest zakresem moduledocelowym, dodaj element .

Przykłady

W poniższym przykładzie wdrożono zasób konta magazynu w innej grupie zasobów w tej samej subskrypcji. Przykład zgłasza błąd, ponieważ module typ deklaracji nie jest używany:

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'
}

Błąd można naprawić przy użyciu module typu deklaracji:

param otherResourceGroup string

// module deployed to a different resource group in the same subscription
module exampleModule 'module.bicep' = {
  name: 'deployStorageToAnotherRG'
  scope: resourceGroup(otherResourceGroup)
}

Poniższy przykład umożliwia wdrożenie grupy zasobów w innej subskrypcji. Przykład zgłasza błąd, ponieważ module nie jest używany

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'
}

Błąd można naprawić przy użyciu module typu deklaracji:

targetScope = 'subscription'

param otherSubscriptionID string

// module deployed to a different subscription
module exampleModule 'module.bicep' = {
  name: 'deployToDifferentSub'
  scope: subscription(otherSubscriptionID)
}

Następne kroki

Aby uzyskać więcej informacji na temat błędów i kodów ostrzeżeń Bicep, zobacz Diagnostyka rdzenia Bicep.