Partager via


Utiliser des types dynamiques pour les ressources Microsoft Graph Bicep

L’extension Microsoft Graph Bicep utilise des types dynamiques qui activent le contrôle de version sémantique pour microsoft Graph bêta et v1.0. L’utilisation de types dynamiques permet d’effectuer des changements cassants futurs dans les types de ressources Microsoft Graph Bicep existants sans avoir d’impact sur le déploiement de vos fichiers Bicep existants qui utilisent des versions antérieures de ces types de ressources. Lorsque vous utilisez des types dynamiques, un référentiel de types Bicep Microsoft Graph avec version spécifique est référencé et extrait de la Registre des artefacts Microsoft. Ces versions de type sont découplées du package NuGet du compilateur Bicep.

Il existe deux façons de configurer des types dynamiques directement dans le fichier main.bicep ou avec un alias de version de type convivial dans le fichier bicepconfig.json qui peut être référencé dans le fichier main.bicep .

Choisir une version de type

Vous devez ajouter une référence au référentiel de types de ressources Bicep Microsoft Graph à partir du Registre des artefacts Microsoft. Pour trouver la dernière version ou la version appropriée du dépôt, accédez au Registre des artefacts Microsoft et recherchez « Extension Bicep Microsoft Graph ». Il existe des versions pour Microsoft Graph bêta et v1.0.

Configurer des types dynamiques dans un fichier Bicep

Dans le fichier principal.bicep , vous pouvez référencer la version du référentiel de types Bicep Microsoft Graph à utiliser, en remplaçant l’espace <v1.0-version> réservé par la version de type que vous souhaitez utiliser pour Microsoft Graph v1.0.

extension 'br:mcr.microsoft.com/bicep/extensions/microsoftgraph/v1.0:<v1.0-version>'

Vous pouvez également spécifier une version bêta dans le même fichier Bicep, puis utiliser des types à partir des deux versions.

extension 'br:mcr.microsoft.com/bicep/extensions/microsoftgraph/v1.0:<v1.0-version>'
extension 'br:mcr.microsoft.com/bicep/extensions/microsoftgraph/beta:<beta-version>'

// using Microsoft Graph v1.0
resource group 'Microsoft.Graph/groups@v1.0' existing = {
    uniqueName: groupName
}

// using Microsoft Graph beta
resource app 'Microsoft.Graph/applications@beta' existing = {
    uniqueName: appName
}

En outre, il est possible de déclarer des ressources qui utilisent des versions de type Bicep plus anciennes et plus récentes. L’exemple montre comment utiliser un type plus ancien et plus récent. Il désambigue entre un type du même nom disponible dans deux extensions importées différentes, à l’aide d’un nom de type complet :

extension 'br:mcr.microsoft.com/bicep/extensions/microsoftgraph/v1.0:<v1.0-version-latest>' as latestGraphV1
extension 'br:mcr.microsoft.com/bicep/extensions/microsoftgraph/v1.0:<v1.0-version-older>' as olderGraphV1

// using the latest version of the Microsoft Graph v1.0 Bicep types
resource group 'latestGraphV1:Microsoft.Graph/groups@v1.0' existing = {
    uniqueName: groupName
}

// using and older version of the Microsoft Graph v1.0 Bicep types
resource app 'olderGraphV1:Microsoft.Graph/applications@v1.0' existing = {
    uniqueName: appName
}

Configurer des types dynamiques dans la configuration Bicep

Vous pouvez spécifier un alias convivial qui référence la version du référentiel de types Microsoft Graph Bicep à utiliser dans le fichier bicepconfig.json, en remplaçant les espaces réservés et <beta-version> les <v1.0-version> versions de type que vous souhaitez utiliser.

{  
    "experimentalFeaturesEnabled": {  
        "extensibility": true  
    },
    "extensions": {  
        "graphV1": "br:mcr.microsoft.com/bicep/extensions/microsoftgraph/v1.0:<v1.0-version>",
        "graphBeta": "br:mcr.microsoft.com/bicep/extensions/microsoftgraph/beta:<beta-version>"  
    }  
}

Ces alias peuvent ensuite être utilisés dans un fichier main.bicep lors de la spécification de l’extension à utiliser. Comme indiqué, vous pouvez déclarer l’utilisation d’une extension v1.0 et bêta qui vous permet de déclarer des ressources à partir de versions bêta de Microsoft Graph v1.0 et Microsoft Graph.

extension graphV1
extension graphBeta

// using Microsoft Graph v1.0
resource group 'Microsoft.Graph/groups@v1.0' existing = {
    uniqueName: groupName
}

// using Microsoft Graph beta
resource app 'Microsoft.Graph/applications@beta' existing = {
    uniqueName: appName
}

Remarque

Vous pouvez également déclarer des alias pour différentes versions de type à partir de la même version de Microsoft Graph (comme une version de type Bicep plus récente et plus ancienne de Microsoft Graph v1.0) dans le fichier bicepconfig.json et référencer ces alias dans le fichier main.bicep lors de l’importation d’extensions et de déclaration de ressources à l’aide de noms de types complets.

Migrer vers l’utilisation de types dynamiques à partir de types intégrés

Les types Bicep Microsoft Graph sont également intégrés au package NuGet du compilateur Bicep. Ce package NuGet contient des définitions de type Microsoft Graph pour Microsoft Graph bêta et v1.0. Les types intégrés étaient la seule option disponible avant septembre 2024.

Important

Les types intégrés sont déconseillés et seront mis hors service le 24 janvier 2025. Jusqu’à la date de mise hors service, les types intégrés, indiqués par extension microsoftGraph, coexistent avec les nouveaux types dynamiques. Toutes les modifications de type Bicep Microsoft Graph ne seront disponibles que par le biais de nouvelles versions des types dynamiques.

Basculez vers des types dynamiques à partir de types intégrés :

  1. Lancez VS Code et ouvrez le dossier contenant vos fichiers main.bicep et bicepconfig.json .

  2. Dans le fichier main.bicep , un avertissement s’affiche sous l’extension microsoftGraph intégrée. Placez le curseur sur l’avertissement pour afficher les détails.

    Avertissement de type Microsoft Graph Bicep intégré

  3. Pour résoudre le problème, sélectionnez le lien Correctif rapide en bas des détails de l’avertissement.