Dela via


Snabbstart: Skapa Bicep-filer med Visual Studio

Den här snabbstarten vägleder dig genom stegen för att skapa en Bicep-fil med Visual Studio. 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.

Liknande redigeringsupplevelse stöds också i Visual Studio Code. Se Snabbstart: Skapa Bicep-filer med Visual Studio Code.

Förutsättningar

Lägga till resursfragment

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

Visual Studio 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 tryck sedan på [TAB] eller [RETUR].

Skärmbild av att lägga till kodfragment för virtuellt nätverk.

Tips

Om du inte ser dessa intellisense-alternativ i Visual Studio kontrollerar du att du har installerat Bicep-tillägget enligt kraven. Om du har installerat tillägget ger du Bicep-språktjänsten lite tid att starta när du har öppnat Bicep-filen. Det börjar vanligtvis snabbt, men du kommer inte att ha intellisense-alternativ förrän det börjar.

Bicep-filen innehåller nu följande kod:

resource virtualNetwork 'Microsoft.Network/virtualNetworks@2023-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'
        }
      }
    ]
  }
}

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 exempel name inte ett bra namn för det virtuella nätverket. Ändra egenskapen name till exampleVnet.

name: 'exampleVnet'

Observera att platsen har en röd kladdig understrykning. Detta indikerar ett problem. Hovra markören över platsen. Felmeddelandet är – Namnet "location" finns inte i den aktuella kontexten. Vi skapar en platsparameter i nästa avsnitt.

Lägga till parametrar

Nu ska vi lägga till två parametrar för lagringskontots namn och platsen. Lägg till överst i filen:

param storageName

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

Skärmbild av att lägga till strängtyp i parametern.

Du har följande parameter:

param storageName string

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

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

Skärmbild av att lägga till dekoratörer i parametern.

Lägg till båda dekoratörerna och ange teckengränserna enligt nedan:

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

Du kan också lägga till en beskrivning av 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 för lagringskontots namn är klar att användas.

Lägg till en annan platsparameter:

param location string = resourceGroup().location

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 resource att definiera en resurs. Under det virtuella nätverket 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 med resurstyper. Fortsätt att skriva lagring tills du kan välja den från de tillgängliga alternativen.

Skärmbild av att välja lagringskonton för resurstyp.

När du har valt Microsoft.Storage/storageAccounts visas de tillgängliga API-versionerna. Välj 2021-09-01 eller den senaste API-versionen. Vi rekommenderar att du använder den senaste API-versionen.

Skärmbild av att välja API-version för resurstyp.

Efter det enkla citatet för resurstypen lägger du till = och ett blanksteg. Du får alternativ för att lägga till egenskaper i resursen. Välj obligatoriska egenskaper.

Skärmbild av att 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 ditt lagringskonto följande egenskaper:

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

Det finns fyra platshållare i koden. Använd [TAB] för att gå igenom dem och ange värdena. Återigen hjälper intellisense dig. Ange nametill storageName, som är parametern som innehåller ett namn på lagringskontot. För locationställer du in den på location. När du lägger till SKU-namn och typ visar intellisense giltiga alternativ.

När du är klar har du:

@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
param location string = resourceGroup().location

resource virtualNetwork 'Microsoft.Network/virtualNetworks@2023-11-01' = {
  name: storageName
  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 exampleStorage 'Microsoft.Storage/storageAccounts@2023-04-01' = {
  name: storageName
  location: location
  sku: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
}

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

Distribuera Bicep-filen

Bicep-fildistribution kan inte göras från Visual Studio än. Du kan distribuera Bicep-filen med hjälp av Azure CLI eller Azure PowerShell:

az group create --name exampleRG --location eastus

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

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 använder du Azure CLI- eller Azure PowerShell-modulen för att ta bort snabbstartsresursgruppen.

az group delete --name exampleRG

Nästa steg