Inicio rápido: Creación de plantillas de ARM mediante Visual Studio Code

Las herramientas de Azure Resource Manager para Visual Studio Code proporcionan compatibilidad con lenguajes, fragmentos de código de los recursos y la finalización automática de los recursos. Estas herramientas ayudan a crear y validar plantillas de Azure Resource Manager (plantillas de ARM) y, por tanto, son el método recomendado de creación y configuración de plantillas de ARM. En este inicio rápido usará la extensión para crear una plantilla de ARM desde cero. Al hacerlo, utilizará las funcionalidades de las extensiones, como los fragmentos de código de las plantillas de Resource Manager, la validación, las finalizaciones y la compatibilidad con archivos de parámetros.

Este inicio rápido se centra en el uso de la extensión de Visual Studio Code para compilar la plantilla de ARM. Para ver un tutorial más centrado en la sintaxis, consulte Tutorial: Crear e implementar la primera plantilla de ARM.

Para completar este inicio rápido, necesita Visual Studio Code con la extensión de herramientas de Azure Resource Manager instalada. También necesita la CLI de Azure o el módulo de Azure PowerShell instalados y autenticados.

Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.

Sugerencia

Se recomienda Bicep porque ofrece las mismas funcionalidades que las plantillas de ARM y la sintaxis es más fácil de usar. Para más información, consulte Inicio rápido: Creación de plantillas de archivos de Bicep con Visual Studio Code.

Nota:

La versión actual de la extensión Herramientas de Azure Resource Manager para Visual Studio Code no reconoce las mejoras realizadas en languageVersion 2.0.

Creación de una plantilla de Resource Manager

Cree y abra con Visual Studio Code un archivo llamado azuredeploy.json. Escriba arm en el editor de código, lo cual inicia fragmentos de código de Azure Resource Manager para aplicar la técnica scaffolding a una plantilla de Resource Manager.

Seleccione arm! para crear una plantilla limitada a la implementación de un grupo de recursos de Azure.

Screenshot showing Azure Resource Manager scaffolding snippets.

Este fragmento de código crea los bloques de creación básicos para una plantilla de Resource Manager.

Screenshot showing a fully scaffolded ARM template.

Tenga en cuenta que el modo de lenguaje de Visual Studio Code cambió de JSON a la plantilla de Azure Resource Manager. La extensión incluye un servidor de lenguaje específico para plantillas de ARM que proporciona una validación específica para estas plantillas, finalización y otros servicios de lenguaje.

Screenshot showing Azure Resource Manager as the Visual Studio Code language mode.

Incorporación de un recurso de Azure

La extensión incluye fragmentos de código para muchos recursos de Azure. Estos fragmentos se pueden usar para agregar fácilmente recursos a la implementación de la plantilla.

Coloque el cursor en el bloque resources de la plantilla, escriba storage y seleccione el fragmento de código arm-storage.

Screenshot showing a resource being added to the ARM template.

Esta acción agrega un recurso de almacenamiento a la plantilla.

Screenshot showing an Azure Storage resource in an ARM template.

La tecla TAB se puede usar para recorrer las distintas propiedades configurables de la cuenta de almacenamiento.

Screenshot showing how the tab key can be used to navigate through resource configuration.

Finalización y validación

Una de las funcionalidades más eficaces de la extensión es su integración con los esquemas de Azure. Estos esquemas proporcionan a la extensión funcionalidades de validación y finalización de recursos. Vamos a modificar la cuenta de almacenamiento para ver tanto la validación como la finalización en acción.

En primer lugar, actualice el tipo de cuenta de almacenamiento a un valor no válido, como megaStorage. Tenga en cuenta que esta acción genera una advertencia que indica que megaStorage no es un valor válido.

Screenshot showing an invalid storage configuration.

Para usar las funcionalidades de finalización, quite megaStorage, coloque el cursor dentro de las comillas dobles y presione ctrl + space. Esta acción presenta una lista de finalización de valores válidos.

Screenshot showing extension auto-completion.

Incorporación de parámetros de plantilla

Ahora cree y use un parámetro para especificar el nombre de la cuenta de almacenamiento.

Coloque el cursor en el bloque de parámetros, agregue un retorno de carro, escriba " y seleccione el fragmento de código new-parameter. Esta acción agrega un parámetro genérico a la plantilla.

Screenshot showing a parameter being added to the ARM template.

Actualice el nombre del parámetro a storageAccountName y la descripción a Storage Account Name.

Screenshot showing the completed parameter in an ARM template.

Los nombres de cuenta de Azure Storage tienen una longitud mínima de 3 caracteres, mientras que el máximo son 24. Agregue minLength y maxLength al parámetro y especifique los valores adecuados.

Screenshot showing minLength and maxLength being added to an ARM template parameter.

Ahora, en el recurso de almacenamiento, actualice la propiedad name para usar el parámetro. Para ello, quite el valor actual de la propiedad. Escriba una comilla doble y un corchete de apertura [, que genera una lista de funciones de la plantilla de Resource Manager. Seleccione parameters en la lista.

Screenshot showing auto-completion when using parameters in ARM template resources.

Al escribir una comilla simple ' dentro de los paréntesis se genera una lista de todos los parámetros definidos en la plantilla, en este caso, storageAccountName. Seleccione el parámetro.

Screenshot showing completed parameter in an ARM template resource.

Creación de un archivo de parámetros

Los archivos de parámetros de las plantillas de Resource Manager permiten almacenar valores de parámetro específicos del entorno y usarlos como un grupo en el momento de la implementación. Por ejemplo, puede tener un archivo de parámetros con valores específicos para un entorno de prueba y otro para un entorno de producción.

La extensión facilita la creación de un archivo de parámetros a partir de las plantillas existentes. Para ello, haga clic con el botón derecho en la plantilla en el editor de código y seleccione Select/Create Parameter File.

Screenshot showing the right-click process for creating a parameter file from an ARM template.

Seleccione New>All Parameters> Seleccione el nombre y la ubicación del archivo de parámetros.

Esta acción crea un archivo de parámetros y lo asigna a la plantilla a partir de la que se creó. La asignación de archivos de la plantilla o parámetro actuales se puede ver y modificar en la barra de estado de Visual Studio Code mientras la plantilla esté seleccionada.

Screenshot showing the template/parameter file mapping in the Visual Studio Code status bar.

Ahora que el archivo de parámetros se asigna a la plantilla, la extensión valida tanto la plantilla como el archivo de parámetros a la vez. Para ver esta validación en la práctica, agregue un valor de dos caracteres al parámetro storageAccountName del archivo de parámetros y guarde el archivo.

Screenshot showing an invalidated template due to parameter file issue.

Vuelva a la plantilla de ARM y observe el error que indica que el valor no cumple los criterios de parámetro.

Screenshot showing a valid ARM template.

Actualice el valor a algo adecuado, guarde el archivo y vuelva a la plantilla. Observe que se ha resuelto el error en el parámetro.

Implementación de la plantilla

Abra el terminal de Visual Studio Code integrado con la combinación de teclas ctrl + ` y use la CLI de Azure o el módulo de Azure PowerShell para implementar la plantilla.

az group create --name arm-vscode --location eastus

az deployment group create --resource-group arm-vscode --template-file azuredeploy.json --parameters azuredeploy.parameters.json

Limpieza de recursos

Cuando los recursos de Azure dejen de ser necesarios, use la CLI de Azure o el módulo de Azure PowerShell para eliminar el grupo de recursos y el recurso del servidor del inicio rápido.

az group delete --name arm-vscode

Pasos siguientes