Snabbstart: Skapa Bicep-filer med Visual Studio Code
Den här snabbstarten beskriver hur du använder Visual Studio Code för att skapa en Bicep-fil. Du skapar ett lagringskonto och ett virtuellt nätverk. Du får också lära dig hur Bicep-tillägget ger typsäkerhet, syntaxvalidering och automatisk komplettering för att förenkla utvecklingen.
Visual Studio stöder en liknande redigeringsupplevelse. Mer information finns i Snabbstart: Skapa Bicep-filer med Visual Studio .
Förutsättningar
Om du inte har en 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 de här stegen har du Visual Studio Code och Bicep-tillägget installerat. Du har också antingen den senaste Azure CLI-versionen eller Azure PowerShell-modulen.
Lägga till resursfragment
Visual Studio Code med Bicep-tillägget innehåller fördefinierade kodfragment för att förenkla utvecklingen. 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, väljer res-vnet i listan och trycker sedan på TABB eller RETUR.
Dricks
Om du inte ser dessa IntelliSense-alternativ i Visual Studio 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 och du har inte HellerlliSense-alternativ förrän det startar. 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å kladdiga 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. Bicep-lintern kontrollerar Bicep-filer efter syntaxfel och överträdelser av bästa praxis. Hovra markören över @2019-11-01
, ett popup-fönster visar Använd nyare API-version för "Microsoft.Network/virtualNetworks". Välj Snabbkorrigering i popup-fönstret och välj sedan Ersätt med 2024-05-01 för att uppdatera API-versionen.
Du kan också ta bort @2019-11-01
och ersätta den 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. Eftersom det till exempel name
inte är ett tydligt namn för det virtuella nätverket kan du ändra name
egenskapen till exampleVnet
:
name: 'exampleVNet'
Lägga till parameter
Kodfragmentet som du lade till i det sista avsnittet missar en parameterdefinition, location
, enligt den röda kladdiga understrykningen. 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
Föregående rad tilldelar platsen för resursgruppen till den virtuella nätverksresursen. Mer information om funktionen som används i standardvärdet resourceGroup()
finns i .
Överst i filen lägger du till ytterligare en parameter för lagringskontots namn (som du skapar senare i snabbstarten) 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 3 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 (t.ex. 3 och 24 nedan):
@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 lowercase 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 resurslagringKonto:
resource storageAccount
storageAccount ä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 storageAccount 'Microsoft.Storage/storageAccounts@2023-05-01' = {
name:
location:
sku: {
name:
}
kind:
}
Du är nästan klar och nästa steg är att ange 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+. Följande skärmbild visar hur IntelliSense föreslår tillgängliga egenskaper:
När du är klar har du:
@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'
}
Mer information om Bicep-syntaxen finns i Bicep-filstrukturen och syntaxen.
Visualisera resurser
Bicep Visualizer visar en grafisk representation av resurserna i filen.
Välj knappen Bicep Visualizer i det övre högra hörnet för att öppna verktyget:
Den här visualiseraren visar de resurser som definierats i Bicep-filen och kopplingarna mellan deras beroenden. De två resurser som definieras i den här snabbstarten har ingen beroende relation, så det finns ingen koppling mellan dem:
Distribuera Bicep-filen
Högerklicka på Bicep-filen i Visual Studio Code och välj sedan Distribuera Bicep-fil.
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 resursgruppnamn 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å använda Azure CLI eller Azure PowerShell för att distribuera Bicep-filen:
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 beskriver 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
Utforska Learn-moduler för Bicep.