Compartir a través de


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

En este inicio rápido se explica cómo usar Visual Studio Code para crear un archivo Bicep. Cree una cuenta de almacenamiento y una red virtual. También aprenderá cómo la extensión de Bicep proporciona seguridad de tipos, validación de sintaxis y autocompletar para simplificar el desarrollo.

Visual Studio admite una experiencia de creación similar. Consulte Inicio rápido: Creación de archivos de Bicep con Visual Studio para obtener más información.

Requisitos previos

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, tiene Visual Studio Code y la Extensión de Bicep instalado. También tiene la versión más reciente CLI de Azure o Módulo de Azure PowerShell.

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

Visual Studio Code con la extensión Bicep proporciona fragmentos predefinidos para simplificar el desarrollo. En este inicio rápido, agregará un fragmento de código que crea una red virtual.

Inicie Visual Studio Code y cree un nuevo archivo denominado main.bicep. En main.bicep, escriba vnet, seleccione res-vnet en la lista y presione TAB o ENTRAR.

Captura de pantalla de la adición de un fragmento de código para la red virtual.

Sugerencia

Si no ve esas opciones de IntelliSense en Visual Studio Code, asegúrese de que ha instalado la extensión de 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 y 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: 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'
        }
      }
    ]
  }
}

Dentro de este fragmento de código, encontrará todos los valores necesarios para definir una red virtual. Es posible que observe dos subrayados curdos. Un amarillo denota una advertencia relacionada con una versión obsoleta de la API, mientras que un subrayado rojo señala un error causado por una definición de parámetro que falta. La herramienta linter de Bicep comprueba los archivos de Bicep en busca de errores de sintaxis e infracciones de procedimientos recomendados. Mantenga el cursor sobre @2019-11-01, un panel emergente muestra Usar la versión de API más reciente para "Microsoft.Network/virtualNetworks". Seleccione Corrección rápida en el panel emergente y, después, seleccione Reemplazar con 2024-05-01 para actualizar la versión de la API.

Como alternativa, quite @2019-11-01 y reemplácelo por @. Seleccione la versión más reciente de la API.

Recorte de pantalla de la actualización de la versión de la API.

Corregirá el error de definición de parámetro que falta en la sección siguiente.

También puede modificarlo para que cumpla sus requisitos. Por ejemplo, dado name que no es un nombre claro para la red virtual, puede cambiar la name propiedad a exampleVnet:

name: 'exampleVNet'

Adición del parámetro

En el fragmento de código que ha añadido en la última sección falta la definición de un parámetro, location, como indica el subrayado rojo. En la parte superior del archivo, agregue:

param location

Al agregar un espacio después de ubicación, observe que IntelliSense ofrece los tipos de datos que están disponibles para el parámetro. Seleccione string.

Captura de pantalla de la adición del tipo de cadena al parámetro.

Asigne al parámetro un valor predeterminado:

param location string = resourceGroup().location

La línea anterior asigna la ubicación del grupo de recursos al recurso de red virtual. Para obtener más información sobre la función usada en el valor predeterminado, consulteresourceGroup().

En la parte superior del archivo, agregue otro parámetro para el nombre de la cuenta de almacenamiento (que se crea más adelante en el inicio rápido) con un valor predeterminado:

param storageAccountName string = 'store${uniqueString(resourceGroup().id)}'

Para obtener más información,consulte Interpolación y uniqueString().

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 y no más de 24 caracteres. Puede especificar estos requisitos agregando 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.

Captura de pantalla de la adición de decoradores al parámetro.

Agregue ambos decoradores y especifique los límites de caracteres (por ejemplo, 3 y 24 siguientes):

@minLength(3)
@maxLength(24)
param storageAccountName string = 'store${uniqueString(resourceGroup().id)}'

También puede agregar una descripción para el parámetro. Incluya información que ayude a los usuarios a implementar el archivo de Bicep para comprender qué valor proporcionar:

@minLength(3)
@maxLength(24)
@description('Provide a name for the storage account. Use only lowercase letters and numbers. The name must be unique across Azure.')
param storageAccountName string = 'store${uniqueString(resourceGroup().id)}'

Los parámetros están listos para usarse.

Agregar recurso

En lugar de usar un fragmento de código para definir la cuenta de almacenamiento, se usa IntelliSense para establecer los valores. Gracias a IntelliSense, este paso es más sencillo que tener que escribir manualmente los valores.

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

resource storageAccount

storageAccount 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 storageacc hasta que pueda seleccionarla en las opciones disponibles.

Captura de pantalla de la selección de las cuentas de almacenamiento para el tipo de recurso.

Después de seleccionar Microsoft.Storage/storageAccounts, se muestran las versiones de API disponibles. Seleccione la versión más reciente. Para la captura de pantalla siguiente, es 2023-05-01.

Recorte de pantalla de selección de la versión de la 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.

Captura de pantalla de la adición de las propiedades necesarias.

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 storageAccount 'Microsoft.Storage/storageAccounts@2023-05-01' = {
  name:
  location:
  sku: {
    name:
  }
  kind:
}

Casi ha terminado y el siguiente paso es proporcionar valores para esas propiedades.

De nuevo, IntelliSense le puede ayudar. Defina name como storageAccountName, que es el parámetro que contiene un nombre para la cuenta de almacenamiento. Para location, establézcalo enlocation, que es un parámetro que ha creado anteriormente. Al agregar sku.name y kind, IntelliSense presenta las opciones válidas.

Para agregar propiedades opcionales junto con las propiedades necesarias, coloque el cursor en la ubicación deseada y presione Ctrl+Espacio. En la captura de pantalla siguiente se muestra cómo IntelliSense sugiere las propiedades disponibles:

Recorte de pantalla de la adición de propiedades adicionales.

Cuando haya terminado, tiene lo siguiente:

@minLength(3)
@maxLength(24)
@description('Provide a name for the storage account. Use only lowercase letters and numbers. The name must be unique across Azure.')
param storageAccountName string = 'store${uniqueString(resourceGroup().id)}'
param location string = resourceGroup().location

resource virtualNetwork 'Microsoft.Network/virtualNetworks@2024-05-01' = {
  name: 'exampleVNet'
  location: 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 storageAccount 'Microsoft.Storage/storageAccounts@2023-05-01' = {
  name: storageAccountName
  location: location
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
}

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

Visualización de recursos

Bicep Visualizer muestra una representación gráfica de los recursos del archivo.

Seleccione el botón Visualizador de Bicep en la esquina superior derecha para abrir la herramienta:

Recorte de pantalla de la herramienta Visualizador de Bicep.

Este visualizador muestra los recursos definidos en el archivo de Bicep y los conectores entre sus dependencias. Los dos recursos definidos en este inicio rápido no tienen una relación dependiente, por lo que no hay un conector entre ellos:

Recorte de pantalla del diagrama del visualizador de Bicep.

Implementación del archivo de Bicep

  1. Haga clic con el botón derecho en el archivo de Bicep dentro de Visual Studio Code y seleccione Implementar archivo de Bicep.

    Recorte de pantalla de la opción Implementar archivo de Bicep.

  2. En el cuadro de texto Escriba el nombre de la implementación, escriba deployStorageAndVNety presione ENTRAR.

    Recorte de pantalla de la especificación del nombre de la implementación.

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

  4. Escriba exampleRG como nombre del grupo de recursos y presione ENTRAR.

  5. Seleccione una ubicación para el grupo de recursos, seleccione Centro de EE. UU o una ubicación de su elección y presione ENTRAR.

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

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

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

az group create --name exampleRG --location eastus

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

Cuando finalice la implementación, debería ver un mensaje que describa 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