Używanie typów dynamicznych dla zasobów Bicep programu Microsoft Graph
Rozszerzenie Microsoft Graph Bicep używa typów dynamicznych, które umożliwiają semantyczne przechowywanie wersji dla programu Microsoft Graph w wersji beta i 1.0. Używanie typów dynamicznych umożliwia przyszłe zmiany powodujące niezgodność w istniejących typach zasobów Bicep programu Microsoft Graph bez wpływu na wdrożenie istniejących plików Bicep korzystających ze starszych wersji tych typów zasobów. W przypadku używania typów dynamicznych odwołanie do określonego repozytorium typów Bicep programu Microsoft Graph jest przywoływane i pobierane z Rejestr Artefaktów Microsoft. Wersje tego typu są oddzielone od pakietu NuGet kompilatora Bicep.
Istnieją dwa sposoby konfigurowania typów dynamicznych bezpośrednio w pliku main.bicep lub za pomocą przyjaznego dla użytkownika aliasu wersji w pliku bicepconfig.json, do którego można się odwołać w pliku main.bicep.
Wybieranie wersji typu
Musisz dodać odwołanie do repozytorium typów zasobów Bicep programu Microsoft Graph z Rejestr Artefaktów Microsoft. Aby znaleźć najnowszą lub odpowiednią wersję repozytorium, przejdź do Rejestr Artefaktów Microsoft i wyszukaj ciąg "Microsoft Graph Bicep Extension". Istnieją wersje programu Microsoft Graph w wersji beta i 1.0.
Konfigurowanie typów dynamicznych w pliku Bicep
W pliku main.bicep możesz odwołać się do wersji repozytorium typów Bicep programu Microsoft Graph, zastępując <v1.0-version>
symbol zastępczy wersją typu, której chcesz użyć dla programu Microsoft Graph w wersji 1.0.
extension 'br:mcr.microsoft.com/bicep/extensions/microsoftgraph/v1.0:<v1.0-version>'
Możesz również określić wersję beta w tym samym pliku Bicep, a następnie użyć typów z obu wersji.
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
}
Ponadto można zadeklarować zasoby korzystające ze starszych i nowszych wersji typów Bicep. W przykładzie pokazano, jak używać starszego i nowszego typu. Niejednoznaczność między typem tej samej nazwy, która jest dostępna w dwóch różnych importowanych rozszerzeniach, przy użyciu w pełni kwalifikowanej nazwy typu:
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
}
Konfigurowanie typów dynamicznych w konfiguracji Bicep
Można określić przyjazny dla użytkownika alias odwołujący się do wersji repozytorium typów Bicep programu Microsoft Graph do użycia w pliku bicepconfig.json , zastępując <v1.0-version>
symbole zastępcze i <beta-version>
wersjami typów, których chcesz użyć.
{
"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>"
}
}
Te aliasy mogą być następnie używane w pliku main.bicep podczas określania rozszerzenia do użycia. Jak pokazano, można zadeklarować użycie rozszerzenia w wersji 1.0 i beta, które umożliwia deklarowanie zasobów z programu Microsoft Graph w wersji 1.0 i wersji beta programu 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
}
Uwaga
Można również zadeklarować aliasy dla różnych wersji typów z tej samej wersji programu Microsoft Graph (na przykład nowszej i starszej wersji typu Bicep z programu Microsoft Graph w wersji 1.0) w pliku bicepconfig.json i odwołać się do tych aliasów w pliku main.bicep podczas importowania rozszerzeń i deklarowania zasobów przy użyciu w pełni kwalifikowanych nazw typów.
Migrowanie do używania typów dynamicznych z wbudowanych typów
Typy Bicep programu Microsoft Graph są również wbudowane w pakiet NuGet kompilatora Bicep. Ten pakiet NuGet zawiera definicje typów programu Microsoft Graph dla programu Microsoft Graph w wersji beta i 1.0. Wbudowane typy były jedyną opcją dostępną przed wrześniem 2024 r.
Ważne
Wbudowane typy są przestarzałe i zostaną wycofane 24 stycznia 2025 r. Do daty wycofania wbudowane typy, oznaczone przez extension microsoftGraph
, będą współistnieć z nowymi typami dynamicznymi. Wszystkie zmiany typu Bicep programu Microsoft Graph będą dostępne tylko za pośrednictwem nowych wersji typów dynamicznych.
Przełącz się na typy dynamiczne z wbudowanych typów:
Uruchom program VS Code i otwórz folder zawierający pliki main.bicep i bicepconfig.json .
W pliku main.bicep znajduje się ostrzeżenie w ramach wbudowanego
microsoftGraph
rozszerzenia. Umieść kursor nad ostrzeżeniem, aby wyświetlić szczegóły.Aby rozwiązać ten problem, wybierz link Szybka poprawka w dolnej części szczegółów ostrzeżenia.