Quickstart: Bicep-bestanden maken met Visual Studio Code
In deze quickstart wordt u begeleid bij de stappen voor het maken van een Bicep-bestand met Visual Studio Code. U maakt een opslagaccount en een virtueel netwerk. U leert ook hoe de Bicep-extensie de ontwikkeling vereenvoudigt door typeveiligheid, syntaxisvalidatie en automatisch aanvullen te bieden.
Vergelijkbare ontwerpervaring wordt ook ondersteund in Visual Studio. Zie quickstart: Bicep-bestanden maken met Visual Studio.
Vereisten
Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.
Zie Bicep-hulpprogramma's installeren om uw omgeving in te stellen voor Bicep-ontwikkeling. Nadat u deze stappen hebt voltooid, hebt u Visual Studio Code en de Bicep-extensie. U hebt ook de nieuwste Azure CLI of de nieuwste Azure PowerShell-module.
Resourcefragment toevoegen
VS Code met de Bicep-extensie vereenvoudigt de ontwikkeling door vooraf gedefinieerde fragmenten te bieden. In deze quickstart voegt u een fragment toe waarmee een virtueel netwerk wordt gemaakt.
Start Visual Studio Code en maak een nieuw bestand met de naam main.bicep.
Typ in main.bicep het vnet en selecteer vervolgens res-vnet in de lijst en druk op [TAB] of [ENTER].
Tip
Als u deze IntelliSense-opties niet ziet in VS Code, controleert u of u de Bicep-extensie hebt geïnstalleerd zoals opgegeven in Vereisten. Als u de extensie hebt geïnstalleerd, geeft u de Bicep-taalservice enige tijd om te beginnen na het openen van uw Bicep-bestand. Het begint meestal snel, maar u hebt pas IntelliSense-opties als deze wordt gestart. Een melding in de rechterbenedenhoek geeft aan dat de service wordt gestart. Wanneer deze melding verdwijnt, wordt de service uitgevoerd.
Uw Bicep-bestand bevat nu de volgende code:
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'
}
}
]
}
}
In dit fragment vindt u alle benodigde waarden voor het definiëren van een virtueel netwerk. U ziet mogelijk twee krullende onderstrepingen. Een gele geeft een waarschuwing aan met betrekking tot een verouderde API-versie, terwijl een rode krullende onderstreping een fout aangeeft die wordt veroorzaakt door een ontbrekende parameterdefinitie.
Verwijder @2019-11-01
en vervang het @
door . Selecteer de nieuwste API-versie.
In de volgende sectie lost u de fout met de ontbrekende parameterdefinitie op.
U kunt deze code ook wijzigen om te voldoen aan uw vereisten. Is bijvoorbeeld name
geen goede naam voor het virtuele netwerk. Wijzig de name
eigenschap in examplevnet
.
name: 'exampleVNet'
Parameter toevoegen
In het codefragment dat u in de laatste sectie hebt toegevoegd, ontbreekt een parameterdefinitie.
Voeg boven aan het bestand het volgende toe:
param location
Wanneer u een spatie na locatie toevoegt, ziet u dat IntelliSense de gegevenstypen biedt die beschikbaar zijn voor de parameter. Selecteer een tekenreeks.
Geef de parameter een standaardwaarde:
param location string = resourceGroup().location
Zie resourceGroup() voor meer informatie over de functie die wordt gebruikt in de standaardwaarde.
Voeg een andere parameter toe voor de naam van het opslagaccount met een standaardwaarde:
param storageAccountName string = 'store${uniqueString(resourceGroup().id)}'
Zie Interpolatie en uniqueString()voor meer informatie.
Deze parameter werkt prima, maar opslagaccounts hebben limieten voor de lengte van de naam. De naam moet ten minste drie tekens en maximaal 24 tekens bevatten. U kunt deze vereisten opgeven door decorators toe te voegen aan de parameter.
Voeg een regel toe boven de parameter en typ @. U ziet de beschikbare decorators. U ziet dat er decorators zijn voor zowel minLength als maxLength.
Voeg beide decorators toe en geef de tekenlimieten op:
@minLength(3)
@maxLength(24)
param storageAccountName string = 'store${uniqueString(resourceGroup().id)}'
U kunt ook een beschrijving voor de parameter toevoegen. Neem informatie op waarmee mensen het Bicep-bestand kunnen implementeren om te begrijpen welke waarde u moet opgeven.
@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)}'
Uw parameters zijn klaar voor gebruik.
Resource toevoegen
In plaats van een fragment te gebruiken om het opslagaccount te definiëren, gebruikt u IntelliSense om de waarden in te stellen. IntelliSense maakt deze stap eenvoudiger dan handmatig de waarden te typen.
Als u een resource wilt definiëren, gebruikt u het resource
trefwoord. Typ onder uw virtuele netwerk resourcevoorbeeldStorage:
resource exampleStorage
exampleStorage is een symbolische naam voor de resource die u implementeert. U kunt deze naam gebruiken om te verwijzen naar de resource in andere delen van uw Bicep-bestand.
Wanneer u een spatie achter de symbolische naam toevoegt, wordt er een lijst met resourcetypen weergegeven. Typ storageacc totdat u deze kunt selecteren in de beschikbare opties.
Nadat u Microsoft.Storage/storageAccounts hebt geselecteerd, ziet u de beschikbare API-versies. Selecteer de nieuwste versie. Voor de volgende schermopname is het 2023-05-01.
Voeg na de enkele aanhalingsteken voor het resourcetype een spatie toe = . U krijgt opties te zien voor het toevoegen van eigenschappen aan de resource. Selecteer vereiste eigenschappen.
Met deze optie worden alle eigenschappen toegevoegd voor het resourcetype dat vereist is voor implementatie. Nadat u deze optie hebt geselecteerd, heeft uw opslagaccount de volgende eigenschappen:
resource exampleStorage 'Microsoft.Storage/storageAccounts@2023-05-01' = {
name:
location:
sku: {
name:
}
kind:
}
U bent bijna klaar. Geef alleen waarden op voor deze eigenschappen.
Nogmaals, IntelliSense helpt u. Ingesteld name
op storageAccountName
, wat de parameter is die een naam voor het opslagaccount bevat. Stel location
deze location
in op , wat een parameter is die u eerder hebt gemaakt. Bij het toevoegen sku.name
en kind
weergeven van intelliSense worden de geldige opties weergegeven.
Als u optionele eigenschappen naast de vereiste eigenschappen wilt toevoegen, plaatst u de cursor op de gewenste locatie en drukt u op Ctrl-spatiebalk+. IntelliSense stelt ongebruikte eigenschappen voor, zoals wordt weergegeven in de volgende schermopname:
Wanneer u klaar bent, hebt u het volgende:
@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'
}
Zie Bicep-structuur voor meer informatie over de Bicep-syntaxis.
Resources visualiseren
U kunt een weergave van de resources in uw bestand bekijken.
Selecteer in de rechterbovenhoek de knop Visualizer om Bicep Visualizer te openen.
De visualizer toont de resources die zijn gedefinieerd in het Bicep-bestand met de informatie over de resourceafhankelijkheid. De twee resources die in deze quickstart zijn gedefinieerd, hebben geen afhankelijkheidsrelatie, dus u ziet geen connector tussen de twee resources.
Het Bicep-bestand implementeren
Klik met de rechtermuisknop op het Bicep-bestand in de VS Code en selecteer Vervolgens Bicep-bestand implementeren.
Typ in het tekstvak Naam voor implementatie , typ deployStorageAndVNet en druk op [ENTER].
Selecteer in de keuzelijst Resourcegroep selecteren bovenaan de optie Nieuwe resourcegroep maken.
Voer voorbeeldRG in als de naam van de resourcegroep en druk op [ENTER].
Selecteer een locatie voor de resourcegroep, selecteer VS - centraal of een locatie naar keuze en druk op [ENTER].
Selecteer Geen in Een parameterbestand selecteren.
Het duurt even voordat de resources zijn gemaakt. Zie Bicep-bestanden implementeren met Visual Studio Code voor meer informatie.
U kunt het Bicep-bestand ook implementeren met behulp van Azure CLI of Azure PowerShell:
az group create --name exampleRG --location eastus
az deployment group create --resource-group exampleRG --template-file main.bicep --parameters storageAccountName=uniquename
Wanneer de implementatie is voltooid, ziet u een bericht waarin wordt aangegeven dat de implementatie is voltooid.
Resources opschonen
Wanneer de Azure-resources niet meer nodig zijn, gebruikt u de Azure CLI of Azure PowerShell-module om de quickstart-resourcegroep te verwijderen.
az group delete --name exampleRG