Uso de tipos dinámicos para recursos de Microsoft Graph Bicep
La extensión bicep de Microsoft Graph usa tipos dinámicos que permiten el control de versiones semánticos para Microsoft Graph beta y v1.0. El uso de tipos dinámicos permite cambios importantes futuros en los tipos de recursos existentes de Microsoft Graph Bicep sin afectar a la implementación de los archivos de Bicep existentes que usan versiones anteriores de esos tipos de recursos. Cuando se usan tipos dinámicos, se hace referencia a un repositorio de tipos bicep de Microsoft Graph con versiones específica y se captura desde el Registro de artefactos Microsoft. Estas versiones de tipo se desacoplan del paquete NuGet del compilador de Bicep.
Hay dos maneras de configurar tipos dinámicos directamente dentro del archivo main.bicep o con un alias de versión de tipo fácil de usar en el archivo bicepconfig.json al que se puede hacer referencia en el archivo main.bicep .
Elegir una versión de tipo
Debe agregar una referencia al repositorio de tipos de recursos de Bicep de Microsoft Graph desde el Registro de artefactos Microsoft. Para buscar la versión más reciente o adecuada del repositorio, vaya al Registro de artefactos Microsoft y busque "Extensión de Bicep de Microsoft Graph". Hay versiones para Microsoft Graph beta y v1.0.
Configuración de tipos dinámicos en un archivo de Bicep
En el archivo main.bicep , puede hacer referencia a la versión del repositorio de tipos de Bicep de Microsoft Graph que se va a usar, reemplazando el <v1.0-version>
marcador de posición por la versión de tipo que desea usar para Microsoft Graph v1.0.
extension 'br:mcr.microsoft.com/bicep/extensions/microsoftgraph/v1.0:<v1.0-version>'
También puede especificar una versión beta en el mismo archivo de Bicep y, a continuación, usar tipos de ambas versiones.
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
}
Además, es posible declarar recursos que usan versiones de tipos de Bicep anteriores y más recientes. En el ejemplo se muestra cómo usar un tipo anterior y más reciente. Desambigua entre un tipo del mismo nombre que está disponible en dos extensiones importadas diferentes, mediante un nombre de tipo completo:
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
}
Configuración de tipos dinámicos en la configuración de Bicep
Puede especificar un alias descriptivo que haga referencia a la versión del repositorio de tipos de Bicep de Microsoft Graph que se va a usar en el archivo bicepconfig.json , reemplazando los <v1.0-version>
marcadores de posición y <beta-version>
por las versiones de tipo que desea 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>"
}
}
Esos alias se pueden usar en un archivo main.bicep al especificar la extensión que se va a usar. Como se muestra, puede declarar el uso de una extensión v1.0 y beta que le permite declarar recursos de las versiones beta de Microsoft Graph v1.0 y 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:
También puede declarar alias para versiones de tipos diferentes de la misma versión de Microsoft Graph (como una versión de tipo bicep más reciente y anterior de Microsoft Graph v1.0) en el archivo bicepconfig.json y hacer referencia a esos alias en el archivo main.bicep al importar extensiones y declarar recursos mediante nombres de tipo completos.
Migración al uso de tipos dinámicos de tipos integrados
Los tipos de Bicep de Microsoft Graph también están integrados en el paquete NuGet del compilador de Bicep. Este paquete NuGet contiene definiciones de tipos de Microsoft Graph para Microsoft Graph beta y v1.0. Los tipos integrados eran la única opción disponible antes de septiembre de 2024.
Importante
Los tipos integrados están en desuso y se retirarán el 24 de enero de 2025. Hasta la fecha de retirada, los tipos integrados, indicados por extension microsoftGraph
, coexistirán con los nuevos tipos dinámicos. Cualquier cambio de tipo de Bicep de Microsoft Graph solo estará disponible a través de nuevas versiones de los tipos dinámicos.
Cambie a tipos dinámicos de tipos integrados:
Inicie VS Code y abra la carpeta que contiene los archivos main.bicep y bicepconfig.json .
En el archivo main.bicep , hay una advertencia en la
microsoftGraph
extensión integrada. Mantenga el cursor sobre la advertencia para ver los detalles.Para corregir el problema, seleccione el vínculo Corrección rápida en la parte inferior de los detalles de advertencia.