Udostępnij za pośrednictwem


Używaj typów dynamicznych dla zasobów programu Microsoft Graph Bicep

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życie typów dynamicznych umożliwia wprowadzanie przyszłych zmian powodujących niezgodność w istniejących typach zasobów Bicep programu Microsoft Graph, bez wpływu na wdrażanie istniejących plików Bicep, które korzystają ze starszych wersji tych typów zasobów. W przypadku korzystania z typów dynamicznych następuje odwołanie i pobranie określonej wersji repozytorium typów Bicep w Microsoft Graph z Rejestru Artefaktów Microsoft. Wersje tego typu są niezależne 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 Bicep Microsoft Graph typów zasobów z Rejestru Artefaktów Microsoft. Aby znaleźć najnowszą lub odpowiednią wersję repozytorium, przejdź do Rejestru Artefaktów Microsoftu i wyszukaj "Microsoft Graph Bicep Extension". Istnieją wersje programu Microsoft Graph w wersji beta i 1.0.

Konfigurowanie typów dynamicznych w pliku Bicep

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. Aby rozróżnić między typem o tej samej nazwie, który jest dostępny w dwóch różnych importowanych rozszerzeniach, stosuje się w pełni kwalifikowaną nazwę 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 pliku konfiguracyjnym Bicep

Możesz określić łatwy do zrozumienia alias odnoszący się do wersji repozytorium typów Bicep dla Microsoft Graph do użycia w pliku bicepconfig.json, zastępując symbole zastępcze <v1.0-version> 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 w Microsoft Graph są również zintegrowane z pakietem 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. Wszelkie zmiany typów Bicep w Microsoft Graph będą dostępne wyłącznie 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.

    Wbudowany typ Bicep w Microsoft Graph - ostrzeżenie

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