Udostępnij za pośrednictwem


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:

  1. Uruchom program VS Code i otwórz folder zawierający pliki main.bicep i bicepconfig.json .

  2. W pliku main.bicep znajduje się ostrzeżenie w ramach wbudowanego microsoftGraph rozszerzenia. Umieść kursor nad ostrzeżeniem, aby wyświetlić szczegóły.

    Ostrzeżenie o typie Bicep wbudowanego programu Microsoft Graph

  3. Aby rozwiązać ten problem, wybierz link Szybka poprawka w dolnej części szczegółów ostrzeżenia.