Snabbstart: Skapa Bicep-filer med Visual Studio Code
Den här snabbstarten vägleder dig genom stegen för att skapa en Bicep-fil med Visual Studio Code. Du skapar ett lagringskonto och ett virtuellt nätverk. Du lär dig också 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. Se Snabbstart: Skapa Bicep-filer med Visual Studio.
Förutsättningar
Om du inte har någon Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.
Information om hur du konfigurerar din miljö för Bicep-utveckling finns i Installera Bicep-verktyg. När du har slutfört dessa steg har du Visual Studio Code och Bicep-tillägget. Du har också antingen den senaste Azure CLI-modulen eller den senaste Azure PowerShell-modulen.
Lägga till resursfragment
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.
Starta Visual Studio Code och skapa en ny fil med namnet main.bicep.
I main.bicep skriver du vnet och väljer sedan res-vnet i listan och trycker sedan på [TAB] eller [RETUR].
Dricks
Om du inte ser dessa IntelliSense-alternativ i VS Code 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 har inte IntelliSense-alternativ förrän det börjar. Ett meddelande i det nedre högra hörnet anger att tjänsten startas. När meddelandet försvinner körs tjänsten.
Bicep-filen innehåller nu följande kod:
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'
}
}
]
}
}
I det här kodfragmentet hittar du alla nödvändiga värden för att definiera ett virtuellt nätverk. Du kanske ser två lockiga understrykningar. En gul en anger en varning relaterad till en inaktuell API-version, medan en röd lockig understrykning signalerar ett fel som orsakas av en saknad parameterdefinition.
Ta bort @2019-11-01
och ersätt det med @
. Välj den senaste API-versionen.
Du åtgärdar det saknade parameterdefinitionsfelet i nästa avsnitt.
Du kan också ä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'
Lägga till parameter
Kodfragmentet som du lade till i det senaste avsnittet missar en parameterdefinition.
Lägg till överst i filen:
param location
Observera att IntelliSense erbjuder de datatyper som är tillgängliga för parametern när du lägger till ett blanksteg efter plats. Välj sträng.
Ge parametern ett standardvärde:
param location string = resourceGroup().location
Mer information om funktionen som används i standardvärdet finns i resourceGroup().
Lägg till ytterligare en parameter för lagringskontonamnet med ett standardvärde:
param storageAccountName string = 'store${uniqueString(resourceGroup().id)}'
Mer information finns i Interpolation och uniqueString().
Den här parametern fungerar bra, men lagringskonton har gränser för namnets längd. Namnet får innehålla minst tre 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 de tillgängliga dekoratörerna. Observera att det finns dekoratörer för både minLength och maxLength.
Lägg till båda dekoratörerna och ange teckengränserna:
@minLength(3)
@maxLength(24)
param storageAccountName string = 'store${uniqueString(resourceGroup().id)}'
Du kan också lägga till en beskrivning för parametern. Inkludera information som hjälper personer som distribuerar Bicep-filen att förstå vilket värde som ska anges.
@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)}'
Parametrarna ä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 du IntelliSense för att ange värdena. IntelliSense gör det här steget 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 storageacc tills du kan välja det bland de tillgängliga alternativen.
När du har valt Microsoft.Storage/storageAccounts visas de tillgängliga API-versionerna. Välj den senaste versionen. För följande skärmbild är det 2023-05-01.
Efter den enkla offerten 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.
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-05-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 storageAccountName
, som är parametern som innehåller ett namn på lagringskontot. För location
anger du den till location
, vilket är en parameter som du skapade tidigare. När du lägger till sku.name
och kind
visar IntelliSense de giltiga alternativen.
Om du vill lägga till valfria egenskaper tillsammans med de obligatoriska egenskaperna placerar du markören på önskad plats och trycker på Ctrl-blanksteg+. IntelliSense föreslår oanvända egenskaper enligt följande skärmbild:
När du är klar har du:
@minLength(3)
@maxLength(24)
param storageAccountName string = 'store${uniqueString(resourceGroup().id)}'
param location string = resourceGroup().location
resource virtualNetwork 'Microsoft.Network/virtualNetworks@2024-01-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@2023-05-01' = {
name: storageAccountName
location: 'eastus'
sku: {
name: 'Standard_LRS'
}
kind: 'StorageV2'
}
Mer information om Bicep-syntaxen finns i Bicep-strukturen.
Visualisera resurser
Du kan visa en representation av resurserna i filen.
I det övre högra hörnet väljer du visualiserarknappen för att öppna Bicep Visualizer.
Visualiseraren visar de resurser som definierats i Bicep-filen med resursberoendeinformationen. De två resurser som definierats i den här snabbstarten har ingen beroenderelation, så du ser ingen koppling mellan de två resurserna.
Distribuera Bicep-filen
Högerklicka på Bicep-filen i VS Code och välj sedan Distribuera Bicep-filen.
I textrutan Ange namn för distribution skriver du deployStorageAndVNet och trycker sedan på [RETUR].
I listrutan Välj resursgrupp överst väljer du Skapa ny resursgrupp.
Ange exampleRG som resursgruppsnamn och tryck sedan på [RETUR].
Välj en plats för resursgruppen, välj USA , centrala eller valfri plats och tryck sedan på [RETUR].
Välj Ingen i Välj en parameterfil.
Det tar en stund att skapa resurserna. Mer information finns i Distribuera Bicep-filer med Visual Studio Code.
Du kan också 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 storageAccountName=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