Partage via


Ressources existantes dans Bicep

Pour référencer une ressource existante qui n’est pas déployée dans votre fichier Bicep actuel, déclarez la ressource avec le mot clé existing. Utilisez le mot clé existing lorsque vous déployez une ressource qui doit obtenir une valeur à partir d’une ressource existante. Vous accédez aux propriétés de la ressource existante par son nom symbolique.

La ressource n’est pas redéployée lorsqu’elle est référencée avec le mot clé existing.

Même étendue

L’exemple suivant montre l’obtention d’un compte de stockage existant dans le même groupe de ressources que le déploiement actuel. Notez que vous ne fournissez que le nom de la ressource existante. Les propriétés sont disponibles par le biais du nom symbolique.

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

output blobEndpoint string = stg.properties.primaryEndpoints.blob

Étendue différente

Définissez la propriété scope pour accéder à une ressource dans une étendue différente. L’exemple suivant référence un compte de stockage existant dans un autre groupe de ressources.

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

output blobEndpoint string = stg.properties.primaryEndpoints.blob

Pour plus d’informations sur la définition de l’étendue, consultez Fonctions d’étendue pour Bicep.

Dépannage

Si vous tentez de référencer une ressource qui n’existe pas, vous recevez l’erreur NotFound et votre déploiement échoue. Vérifiez le nom et l’étendue de la ressource que vous essayez de référencer.

Étapes suivantes

Pour que la syntaxe déploie une ressource, consultez Déclaration de ressources dans Bicep.