Inicio rápido: creación e implementación de una especificación de plantilla con Bicep
Artículo
En este inicio rápido se describe cómo crear e implementar una especificación de plantilla con un archivo Bicep. Una especificación de plantilla se implementa en un grupo de recursos para que los usuarios de su organización puedan implementar recursos en Microsoft Azure. Las especificaciones de plantilla permiten compartir plantillas de implementación sin necesidad de proporcionar a los usuarios acceso para cambiar el archivo Bicep. En este ejemplo de especificación de plantilla se usa un archivo Bicep para implementar una cuenta de almacenamiento.
Al crear una especificación de plantilla, el archivo Bicep se transpila en notación de objetos JavaScript (JSON). La especificación de plantilla usa JSON para implementar recursos de Azure. Actualmente, no puede usar el Microsoft Azure Portal para importar un archivo Bicep y crear un recurso de especificación de plantilla.
Las especificaciones de plantilla se crean a partir de un archivo Bicep local. Copie el ejemplo siguiente y guárdelo en el equipo como main.bicep. En los ejemplos se usa la ruta de acceso C:\templates\main.bicep. Puede usar una ruta de acceso diferente, pero debe cambiar los comandos.
El siguiente archivo Bicep se usa en las pestañas PowerShell y CLI. La pestaña Bicep file (Archivo Bicep) usa una plantilla diferente que combina Bicep y JSON para crear e implementar una especificación de plantilla.
La especificación de plantilla es un tipo de recurso llamado Microsoft.Resources/templateSpecs. Para crear una especificación de plantilla, use CLI de Azure, Azure PowerShell o un archivo Bicep.
Este ejemplo usa el nombre de grupo de recursos templateSpecRG. Puede usar un nombre diferente, pero debe cambiar los comandos.
Puede crear una especificación de plantilla con un archivo Bicep, pero mainTemplate debe estar en JSON. La plantilla JSON no usa la sintaxis JSON estándar. Por ejemplo, no hay comas de fin de línea, las comillas dobles se reemplazan por comillas simples y las barras diagonales inversas (\) se usan para escapar comillas simples dentro de expresiones.
Copie la siguiente plantilla y guárdela en el equipo como main.bicep.
az group create \
--name templateSpecRG \
--location westus2
Cree la especificación de plantilla en ese grupo de recursos. El nombre de especificación de plantilla storageSpec y el número de versión 1.0 son parámetros del archivo Bicep.
az deployment group create \
--resource-group templateSpecRG \
--template-file "C:\templates\main.bicep"
Implementación de la especificación de plantilla
Use la especificación de plantilla para implementar una cuenta de almacenamiento. Este ejemplo usa el nombre de grupo de recursos storageRG. Puede usar un nombre diferente, pero debe cambiar los comandos.
Proporcione los parámetros exactamente como lo haría para una implementación de archivos Bicep. Vuelva a implementar la especificación de plantilla con un parámetro para el tipo de cuenta de almacenamiento.
Existe un problema conocido al obtener el identificador de la especificación de plantilla y luego asignárselo a una variable en Windows PowerShell.
Implemente la especificación de plantilla.
az deployment group create \
--resource-group storageRG \
--template-spec $id
Proporcione los parámetros exactamente como lo haría para una implementación de archivos Bicep. Vuelva a implementar la especificación de plantilla con un parámetro para el tipo de cuenta de almacenamiento.
az deployment group create \
--resource-group storageRG \
--template-spec $id \
--parameters storageAccountType="Standard_GRS"
Para implementar una especificación de plantilla mediante un archivo Bicep, use un módulo. El módulo se vincula a una especificación de plantilla existente. Para más información, consulte File in template spec (Archivo en especificación de plantilla).
Copie el siguiente módulo Bicep y guárdelo en el equipo como storage.bicep.
az deployment group create \
--resource-group storageRG \
--template-file "C:\templates\storage.bicep"
Puede agregar un parámetro y volver a implementar la especificación de plantilla con un tipo de cuenta de almacenamiento diferente. Copie el ejemplo y reemplace el archivo storage.bicep. A continuación, vuelva a implementar la implementación de especificación de plantilla.
Si quiere permitir que otros usuarios de su organización implementen la especificación de plantilla, debe concederles acceso de lectura. Puede asignar el rol Lector a un grupo de Microsoft Entra para el grupo de recursos que contiene las especificaciones de plantilla que quiere compartir. Para más información, consulte el Tutorial: Concesión de acceso de grupo a recursos de Azure mediante Azure PowerShell.
Creación de un archivo de Bicep
Después de crear la especificación de plantilla, ha decidido actualizar el archivo Bicep. Para continuar con los ejemplos de las pestañas PowerShell o CLI, copie el ejemplo y reemplace el archivo main.bicep.
El parámetro storageNamePrefix especifica un valor de prefijo para el nombre de la cuenta de almacenamiento. La variable storageAccountName concatena el prefijo con una cadena única.
Actualización de la versión de la especificación de plantilla
En lugar de crear una nueva especificación de plantilla para la plantilla revisada, agregue una nueva versión denominada 2.0 a la especificación de plantilla existente. Los usuarios pueden elegir la versión que desean implementar.
Implemente la nueva versión y use storageNamePrefix para especificar un prefijo para el nombre de la cuenta de almacenamiento.
az deployment group create \
--resource-group storageRG \
--template-spec $id \
--parameters storageNamePrefix="demo"
Cree una nueva versión de la especificación de plantilla. Copie el ejemplo y reemplace el archivo main.bicep.
El parámetro storageNamePrefix especifica un valor de prefijo para el nombre de la cuenta de almacenamiento. La variable storageAccountName concatena el prefijo con una cadena única.
az deployment group create \
--resource-group storageRG \
--template-file "C:\templates\storage.bicep"
Limpieza de recursos
Para limpiar los recursos que implementó en esta guía de inicio rápido, elimine los dos grupos de recursos. Se eliminarán el grupo de recursos, las especificaciones de plantilla y las cuentas de almacenamiento.
Use Azure PowerShell o la CLI de Azure para eliminar los grupos de recursos.