Delen via


Quickstart: Bicep-bestanden maken met Visual Studio Code

In deze quickstart leert u hoe u Visual Studio Code gebruikt om een Bicep-bestand te maken. U maakt een opslagaccount en een virtueel netwerk. U leert ook hoe de Bicep-extensie typeveiligheid, syntaxisvalidatie en automatisch aanvullen biedt om de ontwikkeling te vereenvoudigen.

Visual Studio ondersteunt een vergelijkbare ontwerpervaring. Zie quickstart: Bicep-bestanden maken met Visual Studio voor meer informatie.

Vereisten

Als u geen abonnement op Azure 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 geïnstalleerd. U hebt ook de nieuwste Azure CLI-versie of Azure PowerShell-module.

Resourcefragment toevoegen

Visual Studio Code met de Bicep-extensie biedt vooraf gedefinieerde codefragmenten om de ontwikkeling te vereenvoudigen. 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 vnet, selecteer res-vnet in de lijst en druk op Tab of Enter.

Schermopname van het toevoegen van fragment voor een virtueel netwerk.

Tip

Als u deze IntelliSense-opties niet ziet in Visual Studio 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 en 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. De Bicep linter controleert Bicep-bestanden op syntaxisfouten en schendingen van best practice. Beweeg de muisaanwijzer over @2019-11-01een pop-upvenster met De recentere API-versie van Microsoft.Network/virtualNetworks gebruiken. Selecteer Snelle oplossing in het pop-upvenster en selecteer vervolgens Vervangen door 2024-05-01 om de API-versie bij te werken.

U kunt ook verwijderen @2019-11-01en vervangen door @. Selecteer de nieuwste API-versie.

Schermopname van het bijwerken van de API-versie.

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. Omdat dit bijvoorbeeld name geen duidelijke naam voor het virtuele netwerk is, kunt u de name eigenschap wijzigen in exampleVnet:

name: 'exampleVNet'

Parameter toevoegen

Het codefragment dat u in de laatste sectie hebt toegevoegd, mist een parameterdefinitie, locationzoals aangegeven door de rode krullende onderstreping. Voeg boven aan het bestand het volgende toe:

param location

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

Schermopname van het toevoegen van een tekenreekstype aan de parameter.

Geef de parameter een standaardwaarde:

param location string = resourceGroup().location

Met de voorgaande regel wordt de locatie van de resourcegroep toegewezen aan de virtuele netwerkresource. Zie voor meer informatie over de functie die wordt gebruikt in de standaardwaarde resourceGroup().

Voeg boven aan het bestand een andere parameter toe voor de naam van het opslagaccount (die u later in de quickstart maakt) met een standaardwaarde:

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

Zie Interpolatie en uniqueString().

Deze parameter werkt prima, maar opslagaccounts hebben limieten voor de lengte van de naam. De naam moet ten minste 3 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.

Schermopname van het toevoegen van decorators aan parameter.

Voeg beide decorators toe en geef de tekenlimieten op (bijvoorbeeld 3 en 24 hieronder):

@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 te begrijpen welke waarde u moet opgeven:

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

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 typen.

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

resource storageAccount

storageAccount 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.

Schermopname van het selecteren van opslagaccounts voor het resourcetype.

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

Schermopname van de api-versie voor het resourcetype selecteren.

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.

Schermopname van het toevoegen van vereiste eigenschappen.

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

U bent bijna klaar en de volgende stap bestaat uit het opgeven van waarden voor deze eigenschappen.

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

Als u optionele eigenschappen naast de vereiste eigenschappen wilt toevoegen, plaatst u de cursor op de gewenste locatie en drukt u op Ctrl-spatiebalk+. In de volgende schermopname ziet u hoe IntelliSense beschikbare eigenschappen voorstelt:

Schermopname van het toevoegen van extra eigenschappen.

Wanneer u klaar bent, hebt u het volgende:

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

Zie Bicep-bestandsstructuur en syntaxis voor meer informatie over de Bicep-syntaxis.

Resources visualiseren

Bicep Visualizer toont een grafische weergave van de resources in uw bestand.

Selecteer de knop Bicep Visualizer in de rechterbovenhoek om het hulpmiddel te openen:

Schermopname van het hulpprogramma Bicep Visualizer.

Met deze visualisatie worden de resources weergegeven die zijn gedefinieerd in het Bicep-bestand en de connectors tussen hun afhankelijkheden. De twee resources die in deze quickstart zijn gedefinieerd, hebben geen afhankelijke relatie, dus er is geen connector tussen deze resources:

Schermopname van Bicep Visualizer-diagram.

Het Bicep-bestand implementeren

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

    Schermopname van de optie Bicep-bestand implementeren.

  2. Typ in het tekstvak Geef een naam op voor de implementatie , typ deployStorageAndVNet en druk op Enter.

    Schermopname van het invoeren van de implementatienaam.

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

  4. Voer exampleRG in als de naam van de resourcegroep en druk op Enter.

  5. Selecteer een locatie voor de resourcegroep, selecteer VS - centraal of een locatie van uw keuze en druk op Enter.

  6. Selecteer Geen in Een parameterbestand selecteren.

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

U kunt ook de Azure CLI of Azure PowerShell gebruiken om het Bicep-bestand te implementeren:

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 beschreven dat de implementatie is geslaagd.

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