Generación de archivos de Bicep mediante GitHub Copilot para Azure

Hay muchas maneras de crear nuevos recursos en Azure. Los archivos de Bicep proporcionan un enfoque declarativo, modular y reutilizable para definir recursos de Azure. Las plantillas de Bicep ofrecen una mejor legibilidad, mantenimiento e integración nativa con Azure Resource Manager (ARM) en comparación con plantillas de ARM basadas en JSON o métodos de scripting imperativos como PowerShell y la CLI de Azure. GitHub Copilot para Azure puede ayudarle a crear archivos Bicep.

Generación de archivos de Bicep

Comenzar con los archivos de Bicep puede requerir algo de aprendizaje si no estás familiarizado con la sintaxis, pero herramientas como GitHub Copilot para Azure pueden ayudar.

Escenario de ejemplo

Supongamos que desea una manera sencilla de obtener un procedimiento repetible y automatizado para crear un recipiente de Blob y compartir archivos. Es posible que esté familiarizado con la manera de crear un contenedor de blobs y un recurso compartido de archivos mediante el portal de Azure, pero no esté seguro de cómo usar archivos de Bicep para realizar la misma tarea.

Ejemplo de sugerencia

Cree un nuevo chat (Ctrl + L), luego copie y pegue el siguiente mensaje en el panel de chat de GitHub Copilot.

Show me a Bicep file that creates an Azure Storage account with a blob container and a file share.

Respuesta de ejemplo

Nota:

La respuesta siguiente es un ejemplo. Las respuestas de GitHub Copilot para Azure no son deterministas, por lo que puede obtener una respuesta diferente de la que se muestra aquí.

GitHub Copilot para Azure genera un archivo Bicep similar al siguiente.

@description('Specifies the name of the Azure Storage account.')
param storageAccountName string

@description('Specifies the name of the blob container to create.')
param blobContainerName string

@description('Specifies the name of the file share to create.')
param fileShareName string

@description('Specifies the location in which the Azure Storage resources should be deployed.')
param location string = resourceGroup().location

resource sa 'Microsoft.Storage/storageAccounts@2023-01-01' = {
  name: storageAccountName
  location: location
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
  properties: {
    accessTier: 'Hot'
  }
}

resource blobServices 'Microsoft.Storage/storageAccounts/blobServices@2023-01-01' = {
  parent: sa
  name: 'default'
}

resource blobContainer 'Microsoft.Storage/storageAccounts/blobServices/containers@2023-01-01' = {
  parent: blobServices
  name: blobContainerName
  properties: {
    publicAccess: 'None'
  }
}

resource fileServices 'Microsoft.Storage/storageAccounts/fileServices@2023-01-01' = {
  parent: sa
  name: 'default'
}

resource fileShare 'Microsoft.Storage/storageAccounts/fileServices/shares@2023-01-01' = {
  parent: fileServices
  name: fileShareName
  properties: {
    shareQuota: 100 // Quota in MB
  }
}

Cree un nuevo archivo main.bicep y copie la respuesta de GitHub Copilot para Azure y péguelo en el nuevo archivo.

Al usar la CLI de Azure para ejecutar el archivo de Bicep, puede establecer los parámetros declarados como storageAccountName, blobContainerNamey fileShareName.

Como alternativa, puede editar el archivo de Bicep que inicializa el storageAccountName parámetro en el valor deseado.

param storageAccountName string = '<your-storage-account-name>'

Refinar la respuesta

Sin embargo, si no está familiarizado con los archivos de Bicep, es posible que necesite más información. Continúe con el diálogo en la misma sesión de chat para comprender los siguientes pasos.

Por ejemplo, podría preguntar dónde debería crearse este archivo de Bicep en su área de trabajo de VS Code.

Where in my workspace should I create the Azure Bicep file, and what should I call it?

Puede responder sugiriendo una carpeta y un nombre de archivo para el nuevo archivo de Bicep. Por ejemplo: infra/storageAccount.bicep.

Por último, si no está seguro de cómo implementar el archivo de Bicep, puede crear un mensaje que solicite instrucciones.

How do I execute the Azure Bicep file?

Es posible que reciba una respuesta similar a la siguiente.

To execute the Bicep file, you can use the Azure CLI with the following steps:

1. **Install Azure CLI and Bicep CLI**: Ensure you have the Azure CLI and Bicep CLI installed. You can install Bicep using the Azure CLI with the command:

   az bicep install


2. **Log in to Azure**: Use the Azure CLI to log in to your Azure account:

   az login


3. **Deploy the Bicep file**: Use the `az deployment group create` command to deploy the Bicep file to a resource group. Replace `<resource-group-name>` with your resource group name and `<location>` with your desired Azure region:
  
   az deployment group create --resource-group <resource-group-name> --template-file infra/storageAccount.bicep --parameters storageAccountName=<your-storage-account-name> containerName=<your-container-name> fileShareName=<your-file-share-name> location=<location>


This command will deploy the resources defined in your Bicep file to the specified resource group in Azure.

Si sigue estas instrucciones, y queda bloqueado o encuentra un problema, puede seguir haciendo preguntas a GitHub Copilot creando mensajes que incluyan la palabra azure en el panel de chat.