Snabbstart: Skapa Bicep-filer med Visual Studio Kod

Den här snabbstarten vägleder dig genom stegen för att skapa en Bicep-fil Visual Studio Kod. Du skapar ett lagringskonto och ett virtuellt nätverk. Du får också lära dig hur Bicep-tillägget förenklar utvecklingen genom att tillhandahålla typsäkerhet, syntaxvalidering och automatisk komplettering.

Förutsättningar

Om du inte har en Azure-prenumeration kan du skapa ett kostnadsfritt konto innan du börjar.

Om du vill konfigurera din miljö för Bicep-utveckling kan du gå till Installera Bicep-verktyg. När du har slutfört de här stegen måste du Visual Studio Code och Bicep-tillägget. Du har också antingen senaste Azure CLI eller den senaste Azure PowerShell modulen.

Lägga till resursfragment

Starta Visual Studio Code och skapa en ny fil med namnet main.bicep.

VS Code med Bicep-tillägget förenklar utvecklingen genom att tillhandahålla fördefinierade kodfragment. I den här snabbstarten lägger du till ett kodfragment som skapar ett virtuellt nätverk.

I main.bicep skriver du vnet. Välj res-vnet i listan och sedan Tabb eller Retur.

Lägga till kodfragment för virtuellt nätverk

Tips

Om du inte ser dessa IntelliSense-alternativ i VS Code kontrollerar du att du har installerat Bicep-tillägget enligt vad som anges i Krav. Om du har installerat tillägget ger du språktjänsten Bicep lite tid att starta när du har öppnat Bicep-filen. Den startar vanligtvis snabbt, men du kommer inte att ha IntelliSense-alternativ förrän den startar. Ett meddelande i det nedre högra hörnet anger att tjänsten startas. När meddelandet försvinner körs tjänsten.

Din Bicep-fil innehåller nu följande kod:

resource virtualNetwork 'Microsoft.Network/virtualNetworks@2019-11-01' = {
  name: 'name'
  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'
        }
      }
    ]
  }
}

Det här kodfragmentet innehåller alla värden som du behöver för att definiera ett virtuellt nätverk. Du kan dock ändra den här koden så att den uppfyller dina krav. Är till name exempel inte ett bra namn för det virtuella nätverket. Ändra egenskapen name till examplevnet .

name: 'examplevnet'

Du kan distribuera den här Bicep-filen, men vi lägger till en parameter och ett lagringskonto innan du distribuerar.

Lägg till parameter

Nu ska vi lägga till en parameter för lagringskontots namn. Längst upp i filen lägger du till:

param storageName

Observera att intellisense erbjuder de datatyper som är tillgängliga för parametern när du lägger till ett utrymme efter storageName. Välj sträng.

Lägg till strängtyp i parametern

Du har följande parameter:

param storageName string

Den här parametern fungerar bra, men lagringskonton har begränsningar för namnets längd. Namnet måste innehålla minst 3 tecken och högst 24 tecken. Du kan ange dessa krav genom att lägga till decorators i parametern .

Lägg till en rad ovanför parametern och skriv @ . Du ser tillgängliga decorators. Observera att det finns decorators för både minLength och maxLength.

Lägga till decorators till parametern

Lägg till båda decorators och ange teckenbegränsningarna enligt nedan:

@minLength(3)
@maxLength(24)
param storageName string

Du kan också lägga till en beskrivning för parametern . Inkludera information som hjälper personer som distribuerar Bicep-filen att förstå värdet som ska tillhandahållas.

@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 storageName string

Parametern är redo att användas.

Lägg till resurs

I stället för att använda ett kodfragment för att definiera lagringskontot använder vi IntelliSense för att ange värdena. IntelliSense gör det här steget mycket enklare än att behöva skriva värdena manuellt.

Använd nyckelordet för att definiera en resource resurs. Under ditt virtuella nätverk skriver du resursexempelLagring:

resource exampleStorage

exampleStorage är ett symboliskt namn för den resurs som du distribuerar. Du kan använda det här namnet för att referera till resursen i andra delar av bicep-filen.

När du lägger till ett blanksteg efter det symboliska namnet visas en lista över resurstyper. Fortsätt att skriva lagring tills du kan välja det bland de tillgängliga alternativen.

Välj lagringskonton för resurstyp

När du har valt Microsoft.Storage /storageAccounts, du får tillgång till de tillgängliga API-versionerna. Välj 2021-02-01.

Välj API-version för resurstyp

Efter det enkla citattecken för resurstypen lägger du till = och ett blanksteg. Du ser alternativ för att lägga till egenskaper i resursen. Välj required-properties.

Lägga till nödvändiga egenskaper

Det här alternativet lägger till alla egenskaper för den resurstyp som krävs för distributionen. När du har valt det här alternativet har lagringskontot följande egenskaper:

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

}

Nästan klart. Ange bara värden för dessa egenskaper.

Återigen hjälper IntelliSense dig. Ange name till , som är den parameter som innehåller ett namn för storageName lagringskontot. För location anger du det till 'eastus' . När du lägger till SKU:ns namn och typ visar IntelliSense giltiga alternativ.

När du är klar har du:

@minLength(3)
@maxLength(24)
param storageName string

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

Mer information om Bicep-syntaxen finns i Bicep-struktur.

Visualisera resurser

Du kan visa en representation av resurserna i filen.

Välj visualiseringsknappen i det övre vänstra hörnet för att öppna Bicep Visualizer.

Bicep Visualizer

Visualiseraren visar de resurser som definierats i Bicep-filen med information om resursberoendet. De två resurser som definieras i den här snabbstarten har ingen beroenderelation, så du ser inte någon koppling mellan de två resurserna.

Distribuera Bicep-filen

Om du vill distribuera filen som du har skapat öppnar du PowerShell eller Azure CLI. Om du vill använda den integrerade Visual Studio Code väljer du ctrl + ` tangentkombinationen. Ändra den aktuella katalogen till den plats där Bicep-filen finns.

az group create --name exampleRG --location eastus

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

Anteckning

Ersätt uniquename med ett unikt lagringskontonamn. Om du får ett felmeddelande som anger att lagringskontot redan har tagits används det lagringsnamn som du angav. Ange ett namn som är mer sannolikt att vara unikt.

När distributionen är klar bör du se ett meddelande som anger att distributionen lyckades.

Rensa resurser

När Azure-resurserna inte längre behövs kan du använda Azure CLI eller Azure PowerShell modulen för att ta bort snabbstartsresursgruppen.

az group delete --name exampleRG

Nästa steg