Compartilhar via


Usar tipos dinâmicos para recursos do Microsoft Graph Bicep

A extensão Bicep do Microsoft Graph usa tipos dinâmicos que permitem o controle de versão semântico para o Microsoft Graph beta e v1.0. O uso de tipos dinâmicos permite alterações significativas futuras nos tipos de recursos Bicep existentes do Microsoft Graph sem afetar a implantação de seus arquivos Bicep existentes que usam versões mais antigas desses tipos de recursos. Quando você usa tipos dinâmicos, um repositório específico de tipos Bicep do Microsoft Graph com versão é referenciado e buscado no Registro do Microsoft Artifact. Essas versões de tipo são desacopladas do pacote NuGet do compilador Bicep.

Há duas maneiras de configurar tipos dinâmicos diretamente no arquivo main.bicep ou com um alias de versão de tipo amigável no arquivo bicepconfig.json que pode ser referenciado no arquivo main.bicep.

Escolha uma versão de tipo

Você precisa adicionar uma referência ao repositório de tipos de recursos do Microsoft Graph Bicep do Registro do Microsoft Artifact. Para encontrar a versão mais recente ou apropriada do repositório, acesse o Registro do Microsoft Artifact e pesquise "Extensão Bicep do Microsoft Graph". Há versões para o Microsoft Graph beta e v1.0.

Configurar tipos dinâmicos em um arquivo Bicep

No arquivo main.bicep, você pode fazer referência à versão do repositório de tipos do Microsoft Graph Bicep a ser usada, substituindo o espaço reservado <v1.0-version> pela versão do tipo que você deseja usar para o Microsoft Graph v1.0.

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

Você também pode especificar uma versão beta no mesmo arquivo Bicep e, em seguida, usar tipos de ambas as versões.

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
}

Além disso, é possível declarar recursos que usam versões mais antigas e mais recentes do tipo Bicep. O exemplo mostra como usar um tipo mais antigo e mais recente. Ele elimina a ambiguidade entre um tipo com o mesmo nome que está disponível em duas extensões importadas diferentes, usando um nome de tipo totalmente qualificado:

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
}

Configurar tipos dinâmicos na configuração do Bicep

Você pode especificar um alias amigável que faça referência à versão do repositório de tipos do Microsoft Graph Bicep a ser usada no arquivo bicepconfig.json , substituindo os <v1.0-version> espaços reservados e <beta-version> pelas versões de tipo que você deseja usar.

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

Esses aliases podem ser usados em um arquivo main.bicep ao especificar a extensão a ser usada. Conforme mostrado, você pode declarar o uso de uma extensão v1.0 e beta que permite declarar recursos das versões beta do Microsoft Graph v1.0 e do 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
}

Observação

Você também pode declarar aliases para diferentes versões de tipo da mesma versão do Microsoft Graph (como uma versão mais recente e mais antiga do tipo Bicep do Microsoft Graph v1.0) no arquivo bicepconfig.json e fazer referência a esses aliases no arquivo main.bicep ao importar extensões e declarar recursos usando nomes de tipo totalmente qualificados.

Migrar para o uso de tipos dinâmicos de tipos internos

Os tipos Bicep do Microsoft Graph também são integrados ao pacote NuGet do compilador Bicep. Esse pacote NuGet contém definições de tipo do Microsoft Graph para o Microsoft Graph beta e v1.0. Os tipos integrados eram a única opção disponível antes de setembro de 2024.

Importante

Os tipos internos foram preteridos e serão desativados em 24 de janeiro de 2025. Até a data de desativação, os tipos internos, indicados por extension microsoftGraph, coexistirão com os novos tipos dinâmicos. Todas as alterações de tipo do Microsoft Graph Bicep só estarão disponíveis por meio de novas versões dos tipos dinâmicos.

Alterne para tipos dinâmicos de tipos internos:

  1. Inicie o VS Code e abra a pasta que contém os arquivos main.bicep e bicepconfig.json .

  2. No arquivo main.bicep, há um aviso na microsoftGraph extensão interna. Passe o cursor sobre o aviso para ver os detalhes.

    Aviso de tipo de bíceps interno do Microsoft Graph

  3. Para corrigir o problema, selecione o link Correção rápida na parte inferior dos detalhes do aviso.