Inicio rápido: Creación de plantillas de archivos de Bicep con Visual Studio Code

Este inicio rápido le guiará por los pasos necesarios para crear un archivo Bicep con Visual Studio Code. Creará una cuenta de almacenamiento y una red virtual. También aprenderá cómo la extensión Bicep simplifica el desarrollo al proporcionar seguridad de tipos, validación de sintaxis y autocompletado.

También se admite una experiencia de creación similar en Visual Studio. Consulte Inicio rápido: Creación de archivos de Bicep con Visual Studio.

Prerrequisitos

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

A fin de configurar el entorno para el desarrollo de Bicep, consulte Instalación de las herramientas de Bicep. Después de completar esos pasos, tendrá Visual Studio Code y la extensión de Bicep. También tendrá la versión más reciente de la CLI de Azure o la versión más reciente del módulo de Azure PowerShell.

Adición del fragmento de código de un recurso

Inicie Visual Studio Code y cree un nuevo archivo denominado main.bicep.

VS Code con la extensión Bicep simplifica el desarrollo al proporcionar fragmentos de código predefinidos. En este inicio rápido, agregará un fragmento de código para crear una red virtual.

En el archivo main.bicep, escriba vnet. Seleccione res-vnet en la lista y, a continuación, presione TAB o Entrar.

Agregar un fragmento de código para la red virtual

Sugerencia

Si no ve esas opciones de IntelliSense en VS Code, asegúrese de que ha instalado la extensión Bicep tal como se especifica en Requisitos previos. Si ya ha instalado la extensión, dé un tiempo al servicio de lenguaje Bicep para que se inicie después de abrir el archivo Bicep. Normalmente se inicia rápidamente, pero no tendrá opciones de IntelliSense hasta que se inicie. Una notificación en la esquina inferior derecha le indica que el servicio se está iniciando. Cuando esa notificación desaparece, quiere decir que el servicio se está ejecutando.

El archivo Bicep ahora contiene el código siguiente:

resource virtualNetwork 'Microsoft.Network/virtualNetworks@2019-11-01' = {
  name: 'name'
  location: resourceGroup().location
  properties: {
    addressSpace: {
      addressPrefixes: [
        '10.0.0.0/16'
      ]
    }
    subnets: [
      {
        name: 'Subnet-1'
        properties: {
          addressPrefix: '10.0.0.0/24'
        }
      }
      {
        name: 'Subnet-2'
        properties: {
          addressPrefix: '10.0.1.0/24'
        }
      }
    ]
  }
}

Este fragmento de código contiene todos los valores que necesita para definir una red virtual. Sin embargo, puede modificarlo para que cumpla sus requisitos. Por ejemplo, name no es un buen nombre para la red virtual. Cambie la propiedad name a examplevnet.

name: 'examplevnet'

Puede implementar este archivo Bicep, pero agregaremos un parámetro y una cuenta de almacenamiento antes de la implementación.

Agregar parámetro

Ahora, agregaremos un parámetro que se usará para el nombre de la cuenta de almacenamiento. En la parte superior del archivo, agregue:

param storageName

Al agregar un espacio después de storageName, observe que IntelliSense muestra los tipos de datos disponibles para el parámetro. Seleccione string.

Agregar el tipo cadena al parámetro

Ahora tiene el siguiente parámetro:

param storageName string

Este parámetro funciona bien, pero las cuentas de almacenamiento tienen límites para la longitud del nombre. El nombre debe tener al menos 3 caracteres y no debe superar los 24 caracteres. Para especificar esos requisitos, puede agregar decoradores al parámetro.

Agregue una línea arriba del parámetro y escriba @ . Se mostrarán los decoradores disponibles. Observe que hay decoradores para minLength y maxLength.

Agregar decoradores al parámetro

Agregue ambos decoradores y especifique los límites de caracteres, como se muestra a continuación:

@minLength(3)
@maxLength(24)
param storageName string

También puede agregar una descripción para el parámetro. Incluya información para que las personas que implementarán el archivo Bicep comprendan el valor que se debe especificar.

@minLength(3)
@maxLength(24)
@description('Provide a name for the storage account. Use only lower case letters and numbers. The name must be unique across Azure.')
param storageName string

El parámetro está listo para usarse.

Agregar recurso

En lugar de usar un fragmento de código para definir la cuenta de almacenamiento, usaremos IntelliSense para configurar los valores. Con IntelliSense, este paso es mucho más fácil que cuando los valores se tienen que escribir manualmente.

Para definir un recurso, use la palabra clave resource. Debajo de la red virtual, escriba resource exampleStorage:

resource exampleStorage

exampleStorage es un nombre simbólico para el recurso que se va a implementar. Puede usar el nombre para hacer referencia al recurso en otras partes del archivo de Bicep.

Al agregar un espacio después del nombre simbólico, se muestra una lista de tipos de recursos. Siga escribiendo storage hasta que pueda seleccionarlo entre las opciones disponibles.

Seleccionar cuentas de almacenamiento para el tipo de recurso

Después de seleccionar Microsoft.Storage/storageAccounts, se muestran las versiones de API disponibles. Seleccione 2021-02-01.

Seleccionar la versión de API para el tipo de recurso

Después de la comilla simple del tipo de recurso, agregue = y un espacio. Se mostrarán las opciones para agregar propiedades al recurso. Seleccione required-properties.

Agregar propiedades obligatorias

Esta opción agrega todas las propiedades del tipo de recurso que son obligatorias para la implementación. Después de seleccionar esta opción, la cuenta de almacenamiento tendrá las siguientes propiedades:

resource exampleStorage 'Microsoft.Storage/storageAccounts@2021-02-01' = {
  name:
  location:
  sku: {
    name:
  }
  kind:

}

Casi ha terminado. Solo tiene que proporcionar valores para esas propiedades.

De nuevo, IntelliSense le puede ayudar. Defina name como storageName, que es el parámetro que contiene un nombre para la cuenta de almacenamiento. En el caso de location, establezca el valor en 'eastus'. Al agregar el nombre y el tipo de SKU, IntelliSense presentará las opciones válidas.

Cuando haya terminado, tendrá lo siguiente:

@minLength(3)
@maxLength(24)
param storageName string

resource virtualNetwork 'Microsoft.Network/virtualNetworks@2019-11-01' = {
  name: 'examplevnet'
  location: resourceGroup().location
  properties: {
    addressSpace: {
      addressPrefixes: [
        '10.0.0.0/16'
      ]
    }
    subnets: [
      {
        name: 'Subnet-1'
        properties: {
          addressPrefix: '10.0.0.0/24'
        }
      }
      {
        name: 'Subnet-2'
        properties: {
          addressPrefix: '10.0.1.0/24'
        }
      }
    ]
  }
}

resource exampleStorage 'Microsoft.Storage/storageAccounts@2021-02-01' = {
  name: storageName
  location: 'eastus'
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
}

Para obtener más información sobre la sintaxis de Bicep, consulte Estructura de Bicep.

Visualización de recursos

Puede ver una representación de los recursos en el archivo.

En la esquina superior derecha, seleccione el botón del visualizador para abrir el visualizador de Bicep.

Visualizador de Bicep

El visualizador muestra los recursos definidos en el archivo Bicep con la información sobre las dependencias entre recursos. Los dos recursos que se definieron en este inicio rápido no tienen una relación de dependencia, por lo que no verá un conector entre ellos.

Implementación del archivo de Bicep

  1. Haga clic con el botón derecho en el archivo Bicep dentro de VSCode y, a continuación, seleccione Deploy Bicep file (Implementar archivo Bicep).

    Captura de pantalla de Implementar archivo de Bicep.

  2. En el cuadro de lista Seleccionar grupo de recursos de la parte superior, seleccione Crear nuevo grupo de recursos.

  3. Escriba exampleRG como nombre del grupo de recursos y presione [ENTRAR].

  4. Seleccione una ubicación para el grupo de recursos y presione [ENTRAR].

  5. En Seleccionar un archivo de parámetros, seleccione Ninguno.

    Captura de pantalla de Seleccionar archivo de parámetros.

  6. Escriba un nombre de cuenta de almacenamiento único y presione [ENTRAR]. Si recibe un mensaje de error indicando que la cuenta de almacenamiento ya está ocupada, significa que el nombre de almacenamiento proporcionado está en uso. Especifique un nombre con mayores probabilidades de ser único.

  7. En Crear archivo de parámetros a partir de valores usados en esta implementación, seleccione No.

La creación del recurso tarda algunos minutos. Para más información, consulte Implementar archivo de Bicep con Visual Studio Code.

También puede usar la CLI de Azure o Azure PowerShell para implementar el archivo Bicep:

az group create --name exampleRG --location eastus

az deployment group create --resource-group exampleRG --template-file main.bicep --parameters storageName=uniquename

Una vez finalizada la implementación, debería mostrarse un mensaje indicando que la implementación se realizó correctamente.

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 exampleRG

Pasos siguientes