Compartilhar via


Migrar para tipos dinâmicos em arquivos de modelo Bicep

Há duas opções para selecionar o "pacote" dos tipos de bíceps do Microsoft Graph:

  • Tipos internos: os tipos Bicep do Microsoft Graph 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 embutidos eram a única opção disponível antes de setembro.
  • 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. Esses pacotes são desacoplados do pacote NuGet do compilador Bicep. Os tipos dinâmicos só estão disponíveis para uso a partir de setembro.

O recurso de tipos dinâmicos permite o controle de versão semântico para tipos Bicep do Microsoft Graph para 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.

Todos os exemplos e inícios rápidos na documentação pública e no repositório GitHub usam tipos dinâmicos.

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.

Pré-requisitos

Alternar para o uso de tipos dinâmicos

As etapas a seguir mostram como atualizar um arquivo Bicep que está usando tipos internos somente do Microsoft Graph v1.0.

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

  2. No arquivo bicepconfig.json, adicione uma referência aos tipos de recursos do Microsoft Graph Bicep no Registro do Microsoft Artifact. Para encontrar a versão mais recente ou apropriada, visite o Registro de Artefatos da Microsoft e pesquise "Extensão Bicep do Microsoft Graph".

  3. Abra o arquivo bicepconfig.json e adicione o seguinte bloco:

    • microsoftGraphV1_0 é um nome de extensão amigável definido pelo usuário para fazer referência à versão do pacote no Registro do Microsoft Artifact.
    • Substitua <version> pela versão do tipo que você deseja usar e que tem suporte para o Microsoft Graph v1.0.
    {  
        "experimentalFeaturesEnabled": {  
            "extensibility": true  
        },
        "extensions": {  
            "microsoftGraphV1_0": "br:mcr.microsoft.com/bicep/extensions/microsoftgraph/v1.0:<version>"  
        }  
    }
    
  4. Em main.bicep, atualize a extension declaração para usar o nome da versão da extensão que você definiu no arquivo bicepconfig.json .

    extension microsoftGraphV1_0
    
    @description('Group to use')
    param groupName string = 'TestGroup-20240816'
    
    // using v1.0
    resource group 'Microsoft.Graph/groups@v1.0' existing = {
        uniqueName: groupName
    }
    
    output groupId string = group.id
    

Usar tipos dinâmicos para recursos do Microsoft Graph beta e v1.0

Os tipos internos do Microsoft Graph fornecem tipos para o Microsoft Graph beta e v1.0. Se o arquivo Bicep declarar recursos do Microsoft Graph da versão beta e v1.0, use as etapas a seguir para atualizar um arquivo Bicep que esteja usando tipos internos no momento.

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

  2. Você precisa adicionar uma referência, no arquivo bicepconfig.json , ao pacote de tipos de recursos do Microsoft Graph Bicep no Registro do Microsoft Artifact. Para encontrar a versão mais recente ou apropriada do pacote, acesse o Registro do Microsoft Artifact e pesquise "Extensão Bicep do Microsoft Graph".

  3. Abra o arquivo bicepconfig.json e adicione o seguinte, substituindo os <v1.0-version> espaços reservados e <beta-version> pelas versões de tipo que você deseja usar, para o Microsoft Graph v1.0 e beta, respectivamente.

    {  
        "experimentalFeaturesEnabled": {  
            "extensibility": true  
        },
        "extensions": {
            "microsoftGraphBeta": "br:mcr.microsoft.com/bicep/extensions/microsoftgraph/beta:<beta-version>",
            "microsoftGraphV1_0": "br:mcr.microsoft.com/bicep/extensions/microsoftgraph/v1.0:<v1.0-version>"   
        }
    }
    
  4. Em main.bicep, atualize a extension microsoftGraph declaração para usar os nomes de versão de extensão definidos no arquivo bicepconfig.json .

    // Use both extension version declarations, to declare Microsoft Graph resources from beta and v1.0, in the same Bicep file 
    extension microsoftGraphV1_0
    extension microsoftGraphBeta
    
    @description('Group to use')
    param groupName string = 'TestGroup-20240816'
    
    @description('Apps to use')
    param appName string = 'TestApp-20240816'
    
    // using v1.0
    resource group 'Microsoft.Graph/groups@v1.0' existing = {
        uniqueName: groupName
    }
    
    // using beta
    resource app 'Microsoft.Graph/applications@beta' existing = {
        uniqueName: appName
    }
    
    output groupId string = group.id
    output appId string = app.id