Heb je infrastructuren nodig te bouwen in Azure? Heb je naar ARM-sjablonen gekeken en gedacht, whoa, ziet er complex uit? Omdat veel mensen hebben geklaagd over de moeilijkheid van het bouwen van ARM-sjablonen, heeft Microsoft een abstractielaag ontwikkeld genaamd Azure Bicep.
In deze tutorial leer je hoe je helemaal opnieuw kunt beginnen. Je leert alles, van het opzetten van een ontwikkelingsomgeving tot het implementeren van je eerste Bicep-sjabloon!
Laten we beginnen!
Vereisten
Deze tutorial zal een hands-on demonstratie zijn. Als je wilt meedoen, zorg er dan voor dat je het volgende hebt:
- Windows 10 – De meeste demonstraties in deze tutorial zullen werken op andere besturingssystemen, maar alle demonstraties zullen Windows 10 gebruiken.
- Visual Studio Code – Deze tutorial zal v1.60.2 gebruiken.
- Een Azure Resource Group om naar te implementeren – Deze tutorial zal een resourcegroep genaamd ATA gebruiken.
Wat is Azure Bicep?
Bicep is een domain-specific language die het bouwen van ARM-templates gemakkelijker maakt. Je kunt Bicep zien als een abstractielaag bovenop ARM-templates. ARM maakt gebruik van JSON en kan complex worden, vooral bij grote implementaties.
Microsoft heeft besloten om Bicep te creëren om de complexiteit te verminderen en de ontwikkelervaring te verbeteren. Het is geen nieuwe taal; zie het meer als een verbetering van de JSON ARM-templates.
Het opzetten van een Bicep-ontwikkelingsomgeving
Om Bicep-templates te ontwikkelen, moet je een omgeving opzetten die je helpt de beste resultaten te behalen. Daarvoor heb je een paar tools tot je beschikking. Laten we eerst de benodigde omgeving instellen, inclusief de VS Code Bicep-extensie, de Bicep CLI, en optioneel de Azure PowerShell-modules.
De VS Code Bicep-extensie installeren
VS Code is een geweldige ontwikkelingstool om Bicep-templates te bouwen. Microsoft biedt daarom een VS Code-extensie aan om het maken van Bicep-templates gemakkelijker te maken. Laten we beginnen met het opzetten van een ontwikkelomgeving door VS Code voor te bereiden.
Open Visual Studio Code en klik op de knop Extensies.

In de zoekbalk typ je “bicep”. Je zou een enkele Bicep-extensie moeten zien verschijnen. Klik hierop wanneer dat gebeurt en klik vervolgens op Installeren. Na enkele momenten installeert VS Code de Bicep-extensie.

Zelfs als het volgende gedeelte je het Bicep-template geeft om te kopiëren/plakken, zul je ongetwijfeld momenten hebben waarop je Bicep-templates vanaf nul moet maken. De Bicep-extensie in VS Code is hierbij handig, vooral vanwege de Intellisense-functies.
Let op dat als je een bestand opent met de extensie .bicep in VS Code, VS Code zal proberen snelkoppelingen voor je te bieden. Bijvoorbeeld, je maakt Azure-resources met het resource
-woord in een Bicep-template. Met de geïnstalleerde Bicep-extensie begrijpt VS Code dit.

Selecteer een van de opgegeven menu-opties en er wordt automatisch een sjabloon aangemaakt om in te vullen, in plaats van de exacte syntaxis elke keer te moeten onthouden.

De periode (.
) is nog een handige snelkoppeling bij het maken van Bicep-sjablonen. Door dit in de eigenschappen-sectie te typen, ziet u bijvoorbeeld alle beschikbare eigenschappen voor een opslagaccount.

Het installeren van de Bicep CLI
Zodra gemaakt, moet u Bicep-sjablonen aanroepen via de Bicep CLI. Voordat u probeert de Bicep CLI te installeren, controleert u eerst of deze al is geïnstalleerd. Afhankelijk van de versie van de Azure CLI die u hebt geïnstalleerd, heeft u mogelijk al de Bicep CLI. Controleer dit door een PowerShell-console of terminal te openen en de versie van de Bicep CLI te controleren.
Als u de Bicep CLI hebt geïnstalleerd, ziet u een versieverklaring, zoals hieronder weergegeven.

Als u een foutmelding ziet over het niet vinden van de Bicep CLI, voert u het install
-subcommando uit om de Bicep CLI te installeren.
U ziet nu de uitvoer zoals hieronder. Het bevestigt dat de Bicep CLI succesvol is geïnstalleerd en klaar is voor gebruik.

Als alternatieve installatiemethode kunt u de Bicep CLI ook installeren via de Bicep Windows Installer.
Het maken van een Bicep-sjabloon om een opslagaccount te implementeren
Je kunt wat complexe Azure-resources implementeren met Bicep, maar laten we rustig beginnen. Voor je eerste Bicep-sjabloon, laten we een eenvoudige Azure-opslagaccount maken die je vervolgens kunt implementeren naar Azure met zowel de Azure CLI als PowerShell in de volgende sectie.
1. Open VS Code en maak een nieuw bestand genaamd main.bicep. Je hoeft de bestandsnaam niet exact zoals hier getoond te noemen, maar het is gebruikelijk om de sjabloon main te noemen met een .bicep-extensie, in navolging van Terraform.
2. Kopieer en plak de onderstaande Bicep-sjablooncode in het bestand en sla het op. Deze sjabloon bevat verschillende attributen die een Bicep-sjabloon vormen.
Je zult eerst enkele attributen zien die gemeenschappelijk zijn voor alle Bicep-sjablonen:
- De resource-identificatie (
resource myStorage
) – Vertelt Bicep om een nieuwe resource met de naammyStorage
te maken. Deze naam identificeert de specifieke resource binnen de Bicep-sjabloon. Deze naam is niet de naam van de resource die in Azure wordt aangemaakt. Microsoft.Storage/storageAccounts@2019-06-01
– Definieert een type bestaande uit de resource providerMicrosoft.Storage
, het resourcetype (storageAccounts
) en de API-versie(2019-06-01)
die moet worden gebruikt.name
– De naam van de resource zoals deze in Azure verschijnt (let op de regels en beperkingen voor het benoemen van Azure-resources.)location
– De Azure-regio waarin de resource moet worden gemaakt.
Je ziet ook enkele kenmerken die specifiek zijn voor het storageAccounts
-resourcetype:
SKU
– De opslagaccount SKU (Standard_LRS
) zoals gedefinieerd in het eigenschapname
.kind
– Het type opslagaccount (StorageV2).properties
– Diverse resourcespecifieke eigenschappen die geen eigen sectie hebben, zoalsaccessTier
in dit voorbeeld. Deze eigenschappen zijn hetzelfde als je zult vinden in ARM-sjablonen.
Het implementeren van een Bicep-sjabloon met PowerShell
Zoals eerder vermeld, kun je Bicep-sjablonen op twee manieren implementeren; via de Azure CLI en Azure PowerShell-module. Laten we eerst een Bicep-sjabloon implementeren met PowerShell.
Zorg ervoor dat je de Azure PowerShell-module hebt geïnstalleerd en dat je geauthenticeerd bent bij Azure voordat je aan dit gedeelte begint.
Het implementeren van Azure-resources met Bicep-templates is identiek aan het implementeren van ARM-templates. Microsoft heeft in feite ondersteuning toegevoegd voor de Bicep-taal aan veel van de bestaande PowerShell ARM-cmdlets, zoals New-AzResourceGroupDeployment.
In je PowerShell-console roep je een nieuwe resourcegroepsimplementatie aan via het New-AzResourceGroupDeployment
-cmdlet, waarbij je het pad van het Bicep-template en de ResourceGroupName
opgeeft om naar te implementeren. Je zult merken dat je een Bicep-template precies kunt gebruiken zoals je een ARM-template zou doen.
Als de implementatie succesvol is, zie je de volgende uitvoer in je PowerShell-sessie met de eigenschap ProvisioningState die als succesvol wordt weergegeven. Dat is alles!

Om te verifiëren dat de resource succesvol is aangemaakt, log je in op het Azure-portal, ga je naar je resourcegroep en zie je binnen die resourcegroep een nieuw aangemaakte opslagaccount.

Als je deze stappen volgt en het opslagaccount als demo hebt aangemaakt, vergeet dan niet om het te verwijderen! Let op dat de ResourceName
overeenkomt met de opgegeven name
in het Bicep-template.
Je ziet nu de volgende uitvoer.

Het implementeren van een Bicep-template met de Azure CLI
Om deze tutorial af te ronden, laten we nu zien hoe je je onlangs gemaakte Bicep-template implementeert met de Azure CLI.
Zorg ervoor dat je Azure CLI v2.2.0+ hebt geïnstalleerd en ingedelogd voordat je met dit gedeelte begint.
Met je PowerShell of een andere terminal geopend, roep je een ARM-implementatie op met het az deployment group create
-commando. Dit commando voert een ARM-implementatie uit, net als met PowerShell. Zorg ervoor dat je de resource-group
opgeeft om naar te implementeren, samen met het Bicep-sjabloon dat eerder is gemaakt via de template-file
-parameter.
Als je de provisioningState als Gelukt ziet, zoals hieronder weergegeven, heeft ARM het Bicep-sjabloon gelezen en alle instructies uitgevoerd!


Vergeet niet de resource op te schonen met
az resource delete -g ATA -n ata2021bicepdiskstorage --resource-type "Microsoft.Storage/storageAccounts"
Conclusie
Nu heb je een ontwikkelomgeving voor Azure Bicep gemaakt en een resource in Azure aangemaakt, wat is je volgende stap? Misschien kijken naar wat Microsoft Learn te bieden heeft over Bicep?
Misschien een demonstratie aan je collega’s geven over hoe Bicep je organisatie kan helpen?