Usare tipi dinamici per le risorse Bicep di Microsoft Graph
L'estensione Microsoft Graph Bicep usa tipi dinamici che consentono il controllo delle versioni semantiche sia per Microsoft Graph beta che per la versione 1.0. L'uso di tipi dinamici consente di apportare modifiche di rilievo future nei tipi di risorse Bicep di Microsoft Graph esistenti senza influire sulla distribuzione dei file Bicep esistenti che usano versioni precedenti di tali tipi di risorse. Quando si usano tipi dinamici, viene fatto riferimento a un repository di tipi Bicep con controllo delle versioni specifico e recuperato dal Registro artefatti Microsoft. Queste versioni di tipo sono separate dal pacchetto NuGet del compilatore Bicep.
Esistono due modi per configurare i tipi dinamici direttamente all'interno del file main.bicep o con un alias di versione del tipo descrittivo nel file bicepconfig.json a cui è possibile fare riferimento nel file main.bicep.
Scegliere una versione del tipo
È necessario aggiungere un riferimento al repository dei tipi di risorse Bicep di Microsoft Graph dal Registro artefatti Microsoft. Per trovare la versione più recente o appropriata del repository, passare alla Registro artefatti Microsoft e cercare "Microsoft Graph Bicep Extension". Sono disponibili versioni sia per Microsoft Graph beta che per la versione 1.0.
Configurare i tipi dinamici in un file Bicep
Nel file main.bicep è possibile fare riferimento alla versione del repository dei tipi Bicep di Microsoft Graph da usare, sostituendo il <v1.0-version>
segnaposto con la versione del tipo che si vuole usare per Microsoft Graph v1.0.
extension 'br:mcr.microsoft.com/bicep/extensions/microsoftgraph/v1.0:<v1.0-version>'
È anche possibile specificare una versione beta nello stesso file Bicep e quindi usare i tipi di entrambe le versioni.
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
}
È anche possibile dichiarare le risorse che usano versioni precedenti e più recenti del tipo Bicep. L'esempio mostra come usare un tipo precedente e più recente. Disambigua tra un tipo con lo stesso nome disponibile in due diverse estensioni importate, usando un nome di tipo completo:
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
}
Configurare i tipi dinamici nella configurazione Bicep
È possibile specificare un alias descrittivo che faccia riferimento alla versione del repository dei tipi Bicep di Microsoft Graph da usare nel file bicepconfig.json , sostituendo i <v1.0-version>
segnaposto e <beta-version>
con le versioni di tipo che si desidera usare.
{
"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>"
}
}
Tali alias possono quindi essere usati in un file main.bicep quando si specifica l'estensione da usare. Come illustrato, è possibile dichiarare l'uso di un'estensione v1.0 e beta che consente di dichiarare le risorse dalle versioni beta di Microsoft Graph v1.0 e 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
}
Nota
È anche possibile dichiarare alias per versioni di tipo diverse dalla stessa versione di Microsoft Graph (ad esempio una versione del tipo Bicep più recente e precedente di Microsoft Graph v1.0) nel file bicepconfig.json e fare riferimento a tali alias nel file main.bicep durante l'importazione di estensioni e la dichiarazione di risorse usando nomi di tipi completi.
Eseguire la migrazione all'uso di tipi dinamici da tipi predefiniti
I tipi Bicep di Microsoft Graph sono integrati anche nel pacchetto NuGet del compilatore Bicep. Questo pacchetto NuGet contiene definizioni di tipo Microsoft Graph sia per Microsoft Graph beta che per la versione 1.0. I tipi predefiniti erano l'unica opzione disponibile prima di settembre 2024.
Importante
I tipi predefiniti sono deprecati e verranno ritirati il 24 gennaio 2025. Fino alla data di ritiro, i tipi predefiniti, contrassegnati da extension microsoftGraph
, coesisteranno con i nuovi tipi dinamici. Tutte le modifiche al tipo Bicep di Microsoft Graph saranno disponibili solo tramite le nuove versioni dei tipi dinamici.
Passare ai tipi dinamici dai tipi predefiniti:
Avviare VS Code e aprire la cartella contenente i file main.bicep e bicepconfig.json .
Nel file main.bicep è presente un avviso sotto l'estensione
microsoftGraph
predefinita. Passare il cursore sull'avviso per visualizzare i dettagli.Per risolvere il problema, selezionare il collegamento Correzione rapida nella parte inferiore dei dettagli dell'avviso.