Quickstart: Bicep-bestanden maken met Visual Studio Code

In deze quickstart wordt u begeleid bij de stappen voor het maken van een Bicep-bestand met Visual Studio Code. U maakt een opslagaccount en een virtueel netwerk. U leert ook hoe de Bicep-extensie de ontwikkeling vereenvoudigt door typeveiligheid, syntaxisvalidatie en automatisch aanvullen te bieden.

Vergelijkbare ontwerpervaring wordt ook ondersteund in Visual Studio. Zie quickstart: Bicep-bestanden maken met Visual Studio.

Vereisten

Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.

Zie Bicep-hulpprogramma's installeren om uw omgeving in te stellen voor Bicep-ontwikkeling. Nadat u deze stappen hebt voltooid, hebt u Visual Studio Code en de Bicep-extensie. U hebt ook de nieuwste Azure CLI of de nieuwste Azure PowerShell-module.

Resourcefragment toevoegen

VS Code met de Bicep-extensie vereenvoudigt de ontwikkeling door vooraf gedefinieerde fragmenten te bieden. In deze quickstart voegt u een fragment toe waarmee een virtueel netwerk wordt gemaakt.

Start Visual Studio Code en maak een nieuw bestand met de naam main.bicep.

Typ in main.bicep het vnet en selecteer vervolgens res-vnet in de lijst en druk op [TAB] of [ENTER].

Screenshot of adding snippet for virtual network.

Tip

Als u deze intelliSense-opties niet ziet in VS Code, controleert u of u de Bicep-extensie hebt geïnstalleerd zoals opgegeven in Vereisten. Als u de extensie hebt geïnstalleerd, geeft u de Bicep-taalservice enige tijd om te beginnen na het openen van uw Bicep-bestand. Het begint meestal snel, maar u hebt pas intelliSense-opties als deze wordt gestart. Een melding in de rechterbenedenhoek geeft aan dat de service wordt gestart. Wanneer deze melding verdwijnt, wordt de service uitgevoerd.

Uw Bicep-bestand bevat nu de volgende code:

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'
        }
      }
    ]
  }
}

In dit fragment vindt u alle benodigde waarden voor het definiëren van een virtueel netwerk. U ziet mogelijk twee krullende onderstrepingen. Een gele geeft een waarschuwing aan met betrekking tot een verouderde API-versie, terwijl een rode krullende onderstreping een fout aangeeft die wordt veroorzaakt door een ontbrekende parameterdefinitie.

Verwijder @2019-11-01en vervang het @door . Selecteer de nieuwste API-versie.

Screenshot of updating API version.

In de volgende sectie lost u de fout met de ontbrekende parameterdefinitie op.

U kunt deze code ook wijzigen om te voldoen aan uw vereisten. Is bijvoorbeeld name geen goede naam voor het virtuele netwerk. Wijzig de name eigenschap in examplevnet.

name: 'exampleVNet'

Parameter toevoegen

In het codefragment dat u in de laatste sectie hebt toegevoegd, ontbreekt een parameterdefinitie.

Voeg boven aan het bestand het volgende toe:

param location

Wanneer u een ruimte na locatie toevoegt, ziet u dat intellisense de gegevenstypen biedt die beschikbaar zijn voor de parameter. Selecteer een tekenreeks.

Screenshot of adding string type to parameter.

Geef de parameter een standaardwaarde:

param location string = resourceGroup().location

Zie resourceGroup() voor meer informatie over de functie die wordt gebruikt in de standaardwaarde.

Voeg een andere parameter toe voor de naam van het opslagaccount met een standaardwaarde:

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

Zie Interpolatie en uniqueString()voor meer informatie.

Deze parameter werkt prima, maar opslagaccounts hebben limieten voor de lengte van de naam. De naam moet ten minste drie tekens en maximaal 24 tekens bevatten. U kunt deze vereisten opgeven door decorators toe te voegen aan de parameter.

Voeg een regel toe boven de parameter en typ @. U ziet de beschikbare decorators. U ziet dat er decorators zijn voor zowel minLength als maxLength.

Screenshot of adding decorators to parameter.

Voeg beide decorators toe en geef de tekenlimieten op:

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

U kunt ook een beschrijving voor de parameter toevoegen. Neem informatie op waarmee mensen het Bicep-bestand kunnen implementeren om inzicht te hebben in de waarde die u moet opgeven.

@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 storageAccountName string = 'store${uniqueString(resourceGroup().id)}'

Uw parameters zijn klaar voor gebruik.

Resource toevoegen

In plaats van een fragment te gebruiken om het opslagaccount te definiëren, gebruikt u intellisense om de waarden in te stellen. Intellisense maakt deze stap eenvoudiger dan handmatig de waarden te hoeven typen.

Als u een resource wilt definiëren, gebruikt u het resource trefwoord. Typ onder uw virtuele netwerk resourcevoorbeeldStorage:

resource exampleStorage

exampleStorage is een symbolische naam voor de resource die u implementeert. U kunt deze naam gebruiken om te verwijzen naar de resource in andere delen van uw Bicep-bestand.

Wanneer u een spatie achter de symbolische naam toevoegt, wordt er een lijst met resourcetypen weergegeven. Typ storageacc totdat u deze kunt selecteren in de beschikbare opties.

Screenshot of selecting storage accounts for resource type.

Nadat u Microsoft.Storage/storageAccounts hebt geselecteerd, ziet u de beschikbare API-versies. Selecteer de nieuwste versie. Voor de volgende schermopname is het 2023-01-01.

Screenshot of select API version for resource type.

Voeg na de enkele aanhalingsteken voor het resourcetype een spatie toe = . U krijgt opties te zien voor het toevoegen van eigenschappen aan de resource. Selecteer vereiste eigenschappen.

Screenshot of adding required properties.

Met deze optie worden alle eigenschappen toegevoegd voor het resourcetype dat vereist is voor implementatie. Nadat u deze optie hebt geselecteerd, heeft uw opslagaccount de volgende eigenschappen:

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

U bent bijna klaar. Geef alleen waarden op voor deze eigenschappen.

Nogmaals, intellisense helpt u. Ingesteld name op storageAccountName, wat de parameter is die een naam voor het opslagaccount bevat. Stel locationdeze locationin op , wat een parameter is die u eerder hebt gemaakt. Bij het toevoegen sku.name en kindweergeven van intellisense worden de geldige opties weergegeven.

Wanneer u klaar bent, hebt u het volgende:

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

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: storageAccountName
  location: 'eastus'
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
}

Zie Bicep-structuur voor meer informatie over de Bicep-syntaxis.

Resources visualiseren

U kunt een weergave van de resources in uw bestand bekijken.

Selecteer in de rechterbovenhoek de knop Visualizer om Bicep Visualizer te openen.

Screenshot of Bicep Visualizer.

De visualizer toont de resources die zijn gedefinieerd in het Bicep-bestand met de informatie over de resourceafhankelijkheid. De twee resources die in deze quickstart zijn gedefinieerd, hebben geen afhankelijkheidsrelatie, dus u ziet geen connector tussen de twee resources.

Screenshot of Bicep Visualizer diagram.

Het Bicep-bestand implementeren

  1. Klik met de rechtermuisknop op het Bicep-bestand in de VS Code en selecteer Vervolgens Bicep-bestand implementeren.

    Screenshot of Deploy Bicep file.

  2. Typ in het tekstvak Naam voor implementatie , typ deployStorageAndVNet en druk op [ENTER].

  3. Selecteer in de keuzelijst Resourcegroep selecteren bovenaan de optie Nieuwe resourcegroep maken.

  4. Voer voorbeeldRG in als de naam van de resourcegroep en druk op [ENTER].

  5. Selecteer een locatie voor de resourcegroep, selecteer VS - centraal of een locatie naar keuze en druk op [ENTER].

  6. Selecteer Geen in Een parameterbestand selecteren.

    Screenshot of Select parameter file.

Het duurt even voordat de resources zijn gemaakt. Zie Bicep-bestanden implementeren met Visual Studio Code voor meer informatie.

U kunt het Bicep-bestand ook implementeren met behulp van Azure CLI of Azure PowerShell:

az group create --name exampleRG --location eastus

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

Wanneer de implementatie is voltooid, ziet u een bericht waarin wordt aangegeven dat de implementatie is voltooid.

Resources opschonen

Wanneer de Azure-resources niet meer nodig zijn, gebruikt u de Azure CLI of Azure PowerShell-module om de quickstart-resourcegroep te verwijderen.

az group delete --name exampleRG

Volgende stappen