Usar tipos dinâmicos para recursos do Microsoft Graph Bicep
A extensão Microsoft Graph Bicep usa tipos dinâmicos que permitem o versionamento semântico para o Microsoft Graph beta e v1.0. O uso de tipos dinâmicos permite futuras alterações significativas nos tipos de recursos existentes do Microsoft Graph Bicep 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 do Microsoft Graph Bicep versionado é referenciado e buscado no Microsoft Artifact Registry. Essas versões de tipo são dissociadas 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 Microsoft Artifact Registry. Para encontrar a versão de repositório mais recente ou apropriada, vá para o Microsoft Artifact Registry e procure por "Microsoft Graph Bicep Extension". Existem versões para 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 de repositório de tipos do Microsoft Graph Bicep a ser usada, substituindo o espaço reservado <v1.0-version>
pela versão de 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 desambigua entre um tipo do 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 de 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 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
}
Nota
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 do Microsoft Graph Bicep também são incorporados ao pacote NuGet do compilador Bicep. Este 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 da aposentadoria, os tipos embutidos, indicados por extension microsoftGraph
, coexistirão com os novos tipos dinâmicos. Qualquer alteração de tipo do Microsoft Graph Bicep só estará disponível através de novas versões dos tipos dinâmicos.
Mude para tipos dinâmicos a partir de tipos incorporados:
Inicie o VS Code e abra a pasta que contém seus arquivos main.bicep e bicepconfig.json .
No arquivo main.bicep, há um aviso sob a
microsoftGraph
extensão interna. Passe o cursor sobre o aviso para ver os detalhes.Para corrigir o problema, selecione o link Correção rápida na parte inferior dos detalhes do aviso.