Bicep-bestanden genereren met GitHub Copilot voor Azure

Er zijn veel manieren om nieuwe resources te maken in Azure. Bicep-bestanden bieden een declaratieve, modulaire en herbruikbare benadering voor het definiëren van Azure-resources. Bicep-sjablonen bieden verbeterde leesbaarheid, onderhoudbaarheid en systeemeigen integratie met Azure Resource Manager (ARM) vergeleken met ARM-sjablonen op basis van JSON of imperatieve scriptmethoden zoals PowerShell en Azure CLI. GitHub Copilot voor Azure kan u helpen bij het maken van Bicep-bestanden.

Bicep-bestanden genereren

Om aan de slag te gaan met Bicep-bestanden is mogelijk enige kennis vereist als u geen kennis hebt met de syntaxis, maar hulpprogramma's zoals GitHub Copilot voor Azure kunnen u hierbij helpen.

Voorbeeldscenario

Stel dat u een eenvoudige manier wilt maken om een herhaalbaar, geautomatiseerd proces te maken voor het maken van een blobcontainer en bestandsshare. Mogelijk bent u bekend met het maken van een Blob-container en -bestandsshare met behulp van Azure Portal, maar weet u niet zeker hoe u Bicep-bestanden gebruikt om dezelfde taak uit te voeren.

Voorbeeldprompt

Maak een nieuwe chat (Ctrl+L) en kopieer en plak de volgende prompt in het chatvenster van GitHub Copilot.

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

Voorbeeldantwoord

Opmerking

Het volgende antwoord is een voorbeeld. GitHub Copilot voor Azure-antwoorden is niet-deterministisch, dus u krijgt mogelijk een ander antwoord dan hier wordt weergegeven.

GitHub Copilot voor Azure genereert een Bicep-bestand dat vergelijkbaar is met de volgende.

@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
  }
}

Maak een nieuw main.bicep-bestand en kopieer vervolgens het antwoord van GitHub Copilot voor Azure en plak deze in het nieuwe bestand.

Wanneer u de Azure CLI gebruikt om het Bicep-bestand uit te voeren, kunt u de parameters instellen die zijn gedeclareerd als storageAccountName, blobContainerNameen fileShareName.

U kunt ook het Bicep-bestand bewerken dat de storageAccountName param initialiseert naar de gewenste waarde.

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

Het antwoord verfijnen

Als u echter nieuw bent met Bicep-bestanden, hebt u mogelijk meer informatie nodig. Ga door met vragen in dezelfde chatsessie om de volgende stappen te begrijpen.

U kunt bijvoorbeeld vragen waar dit Bicep-bestand moet worden gemaakt in uw VS Code-werkruimte.

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

Het kan reageren door een map en bestandsnaam voor uw nieuwe Bicep-bestand voor te stellen. Bijvoorbeeld: infra/storageAccount.bicep.

Als u ten slotte niet zeker weet hoe u het Bicep-bestand implementeert, kunt u een prompt maken waarin om instructies wordt gevraagd.

How do I execute the Azure Bicep file?

Mogelijk ontvangt u een antwoord dat er ongeveer als volgt uitziet.

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.

Als u bij het volgen van deze instructies vastloopt of een probleem ondervindt, kunt u doorgaan met het stellen van vragen aan GitHub Copilot en prompts creëren, inclusief het woord azure in het chatvenster.