Bestaande resources in Bicep

Als u wilt verwijzen naar een bestaande resource die niet is geïmplementeerd in uw huidige Bicep-bestand, declareert u de resource met het existing trefwoord. Gebruik het existing trefwoord wanneer u een resource implementeert die een waarde moet ophalen uit een bestaande resource. U hebt toegang tot de eigenschappen van de bestaande resource via de symbolische naam.

De resource wordt niet opnieuw geïmplementeerd wanneer ernaar wordt verwezen met het existing trefwoord.

Hetzelfde bereik

In het volgende voorbeeld wordt een bestaand opslagaccount in dezelfde resourcegroep als de huidige implementatie opgeslagen. U ziet dat u alleen de naam van de bestaande resource opgeeft. De eigenschappen zijn beschikbaar via de symbolische naam.

resource stg 'Microsoft.Storage/storageAccounts@2022-09-01' existing = {
  name: 'examplestorage'
}

output blobEndpoint string = stg.properties.primaryEndpoints.blob

Ander bereik

Stel de scope eigenschap in voor toegang tot een resource in een ander bereik. Het volgende voorbeeld verwijst naar een bestaand opslagaccount in een andere resourcegroep.

resource stg 'Microsoft.Storage/storageAccounts@2022-09-01' existing = {
  name: 'examplestorage'
  scope: resourceGroup(exampleRG)
}

output blobEndpoint string = stg.properties.primaryEndpoints.blob

Zie Bereikfuncties voor Bicep voor meer informatie over het instellen van het bereik.

Problemen oplossen

Als u probeert te verwijzen naar een resource die niet bestaat, krijgt u de NotFound fout en mislukt de implementatie. Controleer de naam en het bereik van de resource waarnaar u wilt verwijzen.

Volgende stappen

Zie Resourcedeclaratie in Bicep voor de syntaxis voor het implementeren van een resource.