Compartilhar via


Recursos existentes no Bicep

Para referenciar um recurso existente que não está implantado em seu arquivo Bicep atual, declare o recurso com a palavra-chave existing. Use a palavra-chave existing ao implantar um recurso que precisa obter um valor de um recurso existente. Você acessa as propriedades do recurso existente por meio de seu nome simbólico.

O recurso não é reimplantado quando referenciado com a palavra-chave existing.

Mesmo escopo

O exemplo a seguir usa uma conta de armazenamento existente no mesmo grupo de recursos que a implantação atual. Observe que você fornece apenas o nome do recurso existente. As propriedades estão disponíveis por meio do nome simbólico.

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

output blobEndpoint string = stg.properties.primaryEndpoints.blob

Escopo diferente

Defina a propriedade scope para acessar um recurso em um escopo diferente. O exemplo a seguir faz referência a uma conta de armazenamento existente em um grupo de recursos diferente.

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

output blobEndpoint string = stg.properties.primaryEndpoints.blob

Para saber mais sobre como definir o escopo, confira Funções de escopo para Bicep.

Solução de problemas

Se você tentar referenciar um recurso que não existe, você obterá o erro NotFound e a implantação falhará. Verifique o nome e o escopo do recurso que você está tentando referenciar.

Próximas etapas

Para obter a sintaxe para implantar um recurso, consulteDeclaração de recurso no Bicep.