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
- Azure-prenumeration. Om du inte har en Azure-prenumeration kan du skapa ett kostnadsfritt konto innan du börjar.
- Visual Studio version 17.3.0 förhandsversion 3 eller senare. Se Visual Studio Preview.
- Visual Studio Bicep-tillägget. Se Visual Studio Marketplace.
- Bicep-fildistribution kräver antingen den senaste Azure CLI-modulen eller den senaste Azure PowerShell modulen.
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].
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.
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.
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.
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.
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.
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 name
till storageName, som är parametern som innehåller ett namn på lagringskontot. För location
stä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