Uso de un módulo de un registro privado
Ha aprendido a publicar módulos en un registro privado. En esta unidad, aprenderá a usar módulos que ya están en un registro como parte de una plantilla de Bicep.
Uso de un módulo de Bicep
Cuando haya encontrado un módulo que desee usar, cree una definición del módulo en la plantilla de Bicep. Veamos un ejemplo:
module myModule 'br:myregistry.azurecr.io/modulepath/modulename:moduleversion' = {
name: 'my-module'
params: {
moduleParameter1: 'value'
}
}
Observe que la definición del módulo es similar a la de un módulo local, pero con importante diferencia. En lugar de especificar la ruta de acceso a un archivo de Bicep en el sistema de archivos, incluya la ruta de acceso al módulo en el registro.
Después de agregar una referencia al módulo, Visual Studio Code intenta descargar automáticamente el módulo desde el registro. Cuando se descarga el módulo, la extensión de Bicep para Visual Studio Code proporciona IntelliSense y otra ayuda para la creación de código mientras trabaja.
Alias
Puede usar un alias del registro para simplificar las definiciones de módulo. En lugar de especificar el nombre del registro cada vez que defina un módulo, use su alias. Los alias le ayudan de varias maneras:
- Pueden mantener el archivo de Bicep más ordenado y ayudarle a evitar escribir el nombre completo del registro varias veces.
- Si cambia a un nuevo registro en el futuro, puede actualizar el alias en lugar de actualizar todas las referencias al mismo.
- Algunas organizaciones tienen que usar registros diferentes para distintas situaciones, como es el caso de los entornos de desarrollo y producción. Puede cambiar el registro al que se refiere un alias modificando un archivo de configuración. A continuación, el cambio se aplica a todos los archivos de Bicep de la carpeta.
Para definir un alias, debe crear un archivo bicepconfig.json en la misma carpeta que el archivo de Bicep. Dentro del archivo bicepconfig.json, definirá los alias como en este ejemplo:
{
"moduleAliases": {
"br": {
"MyRegistry": {
"registry": "myregistry.azurecr.io"
}
}
}
}
Al definirse un módulo en un archivo de Bicep, se usa un tipo de ruta de acceso del módulo ligeramente diferente, que incluye el alias:
module myModule 'br/MyRegistry:bicep/my-module:v1' = {
// ...
}
Sugerencia
Tenga en cuenta que el principio de la ruta de acceso es br/
cuando usa un alias y br:
cuando no lo hace.
Un alias también puede incluir la ruta de acceso a los módulos del Registro, lo que resulta útil si usa un prefijo común para los módulos:
{
"moduleAliases": {
"br": {
"MyRegistryWithPath": {
"registry": "myregistry.azurecr.io",
"modulePath": "bicep"
}
}
}
}
A continuación, puede omitir la ruta de acceso al definir el módulo en el archivo de Bicep:
module myModule 'br/MyRegistryWithPath:my-module:v1' = {
// ...
}
Compilación del archivo de Bicep
Cuando esté listo para implementar el archivo de Bicep, impleméntelo como lo haría normalmente. Bicep descarga el módulo desde el registro automáticamente como parte del proceso de implementación. Bicep inserta todos los módulos a los que hace referencia en la plantilla de ARM transpilado que está en el archivo JSON.
También puede separar el proceso de descarga del módulo de la compilación mediante el comando bicep restore
. A continuación, puede utilizar el comando bicep build
con el interruptor de línea de comandos --no-restore
para detener el proceso de compilación de la descarga del módulo. Pero por lo general, no es necesario separar los módulos; deje que Bicep los descargue automáticamente.