Använda dynamiska typer för Microsoft Graph Bicep-resurser
Microsoft Graph Bicep-tillägget använder dynamiska typer som möjliggör semantisk versionshantering för både Microsoft Graph beta och v1.0. Med dynamiska typer kan du göra framtida icke-bakåtkompatibla ändringar i befintliga Microsoft Graph Bicep-resurstyper utan att påverka distributionen av dina befintliga Bicep-filer som använder äldre versioner av dessa resurstyper. När du använder dynamiska typer refereras en specifik versionslagringsplats för Microsoft Graph Bicep-typer och hämtas från Microsofts artefaktregister. Dessa typversioner frikopplas från NuGet-paketet för Bicep-kompilatorn.
Det finns två sätt att konfigurera dynamiska typer antingen direkt i main.bicep-filen eller med ett användarvänligt versionsalias i bicepconfig.json fil som kan refereras till i main.bicep-filen .
Välj en typversion
Du måste lägga till en referens till lagringsplatsen för Microsoft Graph Bicep-resurstyper från Microsofts artefaktregister. Om du vill hitta den senaste eller lämpliga lagringsplatsens version går du till Microsofts artefaktregister och söker efter "Microsoft Graph Bicep Extension". Det finns versioner för både Microsoft Graph beta och v1.0.
Konfigurera dynamiska typer i en Bicep-fil
I filen main.bicep kan du referera till den lagringsplatsversion av Microsoft Graph Bicep-typer som ska användas och ersätta <v1.0-version>
platshållaren med den typversion som du vill använda för Microsoft Graph v1.0.
extension 'br:mcr.microsoft.com/bicep/extensions/microsoftgraph/v1.0:<v1.0-version>'
Du kan också ange en betaversion i samma Bicep-fil och sedan använda typer från båda versionerna.
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
}
Dessutom är det möjligt att deklarera resurser som använder äldre och nyare versioner av Bicep-typ. Exemplet visar hur du använder en äldre och nyare typ. Det skiljer sig mellan en typ av samma namn som är tillgängligt i två olika importerade tillägg med hjälp av ett fullständigt kvalificerat typnamn:
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
}
Konfigurera dynamiska typer i Bicep-konfigurationen
Du kan ange ett användarvänligt alias som refererar till lagringsplatsen för Microsoft Graph Bicep-typer som ska användas i filen bicepconfig.json och ersätta <v1.0-version>
platshållarna och <beta-version>
med de typversioner som du vill använda.
{
"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>"
}
}
Dessa alias kan sedan användas i en main.bicep-fil när du anger vilket tillägg som ska användas. Som du ser kan du deklarera användning av ett v1.0- och betatillägg som gör att du kan deklarera resurser från Microsoft Graph v1.0- och Microsoft Graph-betaversioner.
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
}
Kommentar
Du kan också deklarera alias för olika typversioner från samma Microsoft Graph-version (till exempel en nyare och äldre version av Bicep-typen från Microsoft Graph v1.0) i filen bicepconfig.json och referera till dessa alias i main.bicep-filen när du importerar tillägg och deklarerar resurser med fullständigt kvalificerade typnamn.
Migrera till att använda dynamiska typer från inbyggda typer
Microsoft Graph Bicep-typer är också inbyggda i NuGet-paketet för Bicep-kompilatorn. Det här NuGet-paketet innehåller Microsoft Graph-typdefinitioner för både Microsoft Graph beta och v1.0. Inbyggda typer var det enda tillgängliga alternativet före september 2024.
Viktigt!
Inbyggda typer är inaktuella och dras tillbaka den 24 januari 2025. Fram till slutdatumet samexisterar inbyggda typer, som anges av extension microsoftGraph
, med de nya dynamiska typerna. Ändringar av Microsoft Graph Bicep-typ kommer endast att vara tillgängliga via nya versioner av de dynamiska typerna.
Växla till dynamiska typer från inbyggda typer:
Starta VS Code och öppna mappen som innehåller dina main.bicep - och bicepconfig.json-filer .
I filen main.bicep finns det en varning under det
microsoftGraph
inbyggda tillägget. Hovra markören över varningen för att se informationen.Åtgärda problemet genom att välja länken Snabbkorrigering längst ned i varningsinformationen.