Freigeben über


Verwenden dynamischer Typen für Microsoft Graph-Bicep-Ressourcen

Die Microsoft Graph-Bicep-Erweiterung verwendet dynamische Typen, die die semantische Versionsverwaltung sowohl für Microsoft Graph Beta als auch für v1.0 ermöglichen. Die Verwendung dynamischer Typen ermöglicht zukünftige Änderungen an vorhandenen Microsoft Graph Bicep-Ressourcentypen, ohne dass sich die Bereitstellung Ihrer vorhandenen Bicep-Dateien auswirkt, die ältere Versionen dieser Ressourcentypen verwenden. Wenn Sie dynamische Typen verwenden, wird auf ein bestimmtes versionsbezogenes Microsoft Graph Bicep-Typen-Repository verwiesen und aus dem Microsoft-Artefaktregistrierung abgerufen. Diese Typversionen werden vom Bicep-Compiler NuGet-Paket entkoppelt.

Es gibt zwei Möglichkeiten, dynamische Typen entweder direkt in der Datei "main.bicep " oder mit einem benutzerfreundlichen Versionsalias in der datei bicepconfig.json zu konfigurieren, auf die in der Datei "main.bicep " verwiesen werden kann.

Typversion auswählen

Sie müssen einen Verweis auf die Microsoft Graph Bicep-Ressourcentypen aus dem Microsoft-Artefaktregistrierung hinzufügen. Um die neueste oder geeignete Repositoryversion zu finden, wechseln Sie zum Microsoft-Artefaktregistrierung, und suchen Sie nach "Microsoft Graph Bicep-Erweiterung". Es gibt Versionen für Microsoft Graph Beta und v1.0.

Konfigurieren dynamischer Typen in einer Bicep-Datei

In der Datei "main.bicep " können Sie auf die zu verwendende Repositoryversion von Microsoft Graph Bicep-Typen verweisen und den <v1.0-version> Platzhalter durch die Typversion ersetzen, die Sie für Microsoft Graph v1.0 verwenden möchten.

extension 'br:mcr.microsoft.com/bicep/extensions/microsoftgraph/v1.0:<v1.0-version>'

Sie können auch eine Betaversion in derselben Bicep-Datei angeben und dann Typen aus beiden Versionen verwenden.

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
}

Darüber hinaus ist es möglich, Ressourcen zu deklarieren, die ältere und neuere Bicep-Typversionen verwenden. Das Beispiel zeigt, wie Sie einen älteren und neueren Typ verwenden. Es wird zwischen einem Typ desselben Namens unterschieden, der in zwei verschiedenen importierten Erweiterungen verfügbar ist, indem er einen vollqualifizierten Typnamen verwendet:

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
}

Konfigurieren dynamischer Typen in der Bicep-Konfiguration

Sie können einen benutzerfreundlichen Alias angeben, der auf die Microsoft Graph-Bicep-Typen-Repositoryversion verweist, die in der datei bicepconfig.json verwendet werden soll, und ersetzen die <v1.0-version> Platzhalter <beta-version> durch die Typversionen, die Sie verwenden möchten.

{  
    "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>"  
    }  
}

Diese Aliase können dann in einer main.bicep-Datei verwendet werden, wenn Sie die zu verwendende Erweiterung angeben. Wie gezeigt, können Sie die Verwendung einer v1.0- und Betaerweiterung deklarieren, mit der Sie Ressourcen aus Microsoft Graph v1.0- und Microsoft Graph-Betaversionen deklarieren können.

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
}

Hinweis

Sie können auch Aliase für unterschiedliche Typversionen aus derselben Microsoft Graph-Version (z. B. eine neuere und ältere Bicep-Typversion von Microsoft Graph v1.0) in der datei bicepconfig.json deklarieren und beim Importieren von Erweiterungen und Deklarieren von Ressourcen mit vollqualifizierten Typnamen auf diese Aliase in der Datei "main.bicep " verweisen.

Migrieren zur Verwendung dynamischer Typen aus integrierten Typen

Microsoft Graph Bicep-Typen sind auch in das Bicep-Compiler-NuGet-Paket integriert. Dieses NuGet-Paket enthält Microsoft Graph-Typdefinitionen für Microsoft Graph Beta und v1.0. Integrierte Typen waren die einzige Option, die vor September 2024 verfügbar war.

Wichtig

Integrierte Typen sind veraltet und werden am 24. Januar 2025 eingestellt. Bis zum Deaktivierungsdatum werden integrierte Typen, die mit extension microsoftGraphden neuen dynamischen Typen gekennzeichnet sind, koexistieren. Alle Änderungen des Microsoft Graph-Bicep-Typs stehen nur in neuen Versionen der dynamischen Typen zur Verfügung.

Wechseln Sie zu dynamischen Typen aus integrierten Typen:

  1. Starten Sie VS Code, und öffnen Sie den Ordner, der Ihre Dateien "main.bicep " und "bicepconfig.json " enthält.

  2. In der Datei "main.bicep " wird unter der microsoftGraph integrierten Erweiterung eine Warnung angezeigt. Zeigen Sie mit dem Mauszeiger auf die Warnung, um die Details anzuzeigen.

    Integrierte Microsoft Graph-Bicep-Typwarnung

  3. Um das Problem zu beheben, wählen Sie unten in den Warnungsdetails den Link "Schnellkorrektur " aus.