Delen via


Wat is Bicep?

Bicep is een domeinspecifieke taal die declaratieve syntaxis gebruikt om Azure-resources te implementeren. In een Bicep-bestand definieert u de infrastructuur die u wilt implementeren in Azure en gebruikt u dat bestand vervolgens gedurende de ontwikkelingslevenscyclus om die infrastructuur herhaaldelijk te implementeren. Uw resources worden op een consistente manier geïmplementeerd.

Bicep biedt beknopte syntaxis, betrouwbare typeveiligheid en ondersteuning voor het hergebruik van code. Bicep biedt een eersteklas ontwerpervaring voor uw infrastructuur als code-oplossingen in Azure.

Voordelen van Bicep

Bicep biedt de volgende voordelen:

  • Ondersteuning voor alle resourcetypen en API-versies: Bicep ondersteunt onmiddellijk alle preview- en GA-versies voor Azure-services. Zodra een resourceprovider nieuwe resourcetypen en API-versies introduceert, kunt u deze gebruiken in uw Bicep-bestand. U hoeft niet te wachten totdat hulpprogramma's worden bijgewerkt voordat u de nieuwe services gebruikt.

  • Eenvoudige syntaxis: In vergelijking met de equivalente JSON-sjabloon zijn Bicep-bestanden beknopter en gemakkelijker te lezen. Bicep vereist geen voorafgaande kennis van programmeertalen. Bicep-syntaxis is declaratief en geeft aan welke resources en resource-eigenschappen u wilt implementeren.

    In de volgende voorbeelden ziet u het verschil tussen een Bicep-bestand en de equivalente JSON-sjabloon. In beide voorbeelden wordt een opslagaccount geïmplementeerd:

    param location string = resourceGroup().location
    param storageAccountName string = 'toylaunch${uniqueString(resourceGroup().id)}'
    
    resource storageAccount 'Microsoft.Storage/storageAccounts@2023-05-01' = {
      name: storageAccountName
      location: location
      sku: {
        name: 'Standard_LRS'
      }
      kind: 'StorageV2'
      properties: {
        accessTier: 'Hot'
      }
    }
    

  • Ontwerpervaring: Wanneer u de Bicep-extensie voor VS Code gebruikt om uw Bicep-bestanden te maken, krijgt u een eersteklas ontwerpervaring. De editor biedt uitgebreide typeveiligheid, IntelliSense en syntaxisvalidatie.

    Een schermopname van het ontwerpen van een Bicep-bestand in realtime

    U kunt ook Bicep-bestanden maken in Visual Studio met de Bicep-extensie voor Visual Studio.

  • Herhaalbare resultaten: Implementeer uw infrastructuur gedurende de ontwikkelingslevenscyclus met het vertrouwen dat uw resources consistent worden geïmplementeerd. Bicep-bestanden zijn idempotent, wat betekent dat u hetzelfde bestand vaak kunt implementeren en dezelfde resourcetypen in dezelfde status kunt krijgen. U kunt één bestand ontwikkelen dat de gewenste status vertegenwoordigt in plaats van veel afzonderlijke bestanden te ontwikkelen om updates weer te geven. Met het volgende bestand wordt bijvoorbeeld een opslagaccount gemaakt. Als u deze sjabloon en het opslagaccount implementeert wanneer de opgegeven eigenschappen al bestaan, worden er geen wijzigingen aangebracht:

    param location string = resourceGroup().location
    
    resource mystore 'Microsoft.Storage/storageAccounts@2023-05-01' = {
      name: 'mystorageaccount'
      location: location
      sku: {
        name: 'Standard_LRS'
      }
      kind: 'StorageV2'
    }
    

  • Indeling: U hoeft zich geen zorgen te maken over de complexiteit van bestelbewerkingen. Resource Manager organiseert de implementatie van onderling afhankelijke resources, zodat ze in de juiste volgorde worden gemaakt. Indien mogelijk implementeert Resource Manager resources parallel, zodat uw implementaties sneller kunnen worden voltooid dan seriële implementaties. U implementeert het bestand via één in plaats van meerdere imperatieve opdrachten.

    Een diagram waarin de implementatie wordt vergeleken tussen een Bicep-bestand en een infrastructuur als code die zich niet in een sjabloon bevindt.

  • Modulariteit: Gebruik modules om uw Bicep-code te segmenteren in beheerbare onderdelen. Met modules kunt u code hergebruiken en de ontwikkeling vereenvoudigen. Een module implementeert een set gerelateerde resources. Voeg een module toe aan een Bicep-bestand wanneer u deze resources moet implementeren.

  • Integratie met Azure-services: Bicep kan worden geïntegreerd met Azure-services zoals Azure Policy, sjabloonspecificaties en Azure Blueprints.

  • Voorbeeldwijzigingen: U kunt de wat-als-bewerking gebruiken om een voorbeeld van wijzigingen te bekijken voordat u het Bicep-bestand implementeert. In de wat-als-bewerking ziet u welke resources u wilt maken, bijwerken of verwijderen en welke resource-eigenschappen u wilt wijzigen. Het controleert ook de huidige status van uw omgeving en elimineert de noodzaak om deze status te beheren.

  • Er zijn geen status- of statusbestanden die moeten worden beheerd: Azure slaat alle statussen op. U kunt samenwerken met anderen en erop vertrouwen dat uw updates worden verwerkt zoals verwacht.

  • Geen kosten en open source: Aangezien Bicep gratis is, hoeft u niet te betalen voor premium-mogelijkheden. Microsoft Ondersteuning ondersteunt het.

Aan de slag

Om te beginnen met Bicep:

  1. Installeer de hulpprogramma's. Zie Bicep-ontwikkel- en implementatieomgevingen instellen of de VS Code devcontainer/Codespaces-opslagplaats gebruiken om een vooraf geconfigureerde ontwerpomgeving op te halen.
  2. Voltooi de quickstart - en Learn-modules voor Bicep.

Als u een bestaande Resource Manager-sjabloon wilt decompileren naar Bicep, raadpleegt u Decompiling ARM-sjabloon JSON naar Bicep. U kunt Bicep Playground gebruiken om Bicep en het equivalent, JSON, naast elkaar weer te geven.

Zie Naslaginformatie Bicep-resources voor meer informatie over de resources die beschikbaar zijn in uw Bicep-bestand.

U vindt Bicep-voorbeelden in de Bicep GitHub-opslagplaats.

Over de taal

Bicep is niet bedoeld als een algemene programmeertaal om toepassingen te schrijven. Een Bicep-bestand declareert Azure-resources en resource-eigenschappen zonder een reeks programmeeropdrachten te schrijven om ze te maken.

Zie de Bicep-projectopslagplaats om de status van het Bicep-werk bij te houden.

Bekijk de volgende video voor meer informatie over Bicep:

U kunt Bicep gebruiken in plaats van JSON om Resource Manager-sjablonen te ontwikkelen. De JSON-syntaxis voor het maken van een Resource Manager-sjabloon kan uitgebreid zijn en complexe expressies vereisen. Bicep-syntaxis vermindert die complexiteit en verbetert de ontwikkelervaring. Bicep is een transparante abstractie van een Resource Manager JSON-sjabloon die de mogelijkheden van een JSON-sjabloon niet verliest. Tijdens de implementatie converteert bicep CLI een Bicep-bestand naar een Resource Manager JSON-sjabloon.

Resourcetypen, API-versies en eigenschappen die geldig zijn in een Resource Manager-sjabloon, zijn geldig in een Bicep-bestand.

Bicep biedt een eenvoudigere en beknoptere syntaxis in vergelijking met het equivalent, JSON. U gebruikt geen expressies tussen haakjes [...]. In plaats daarvan roept u functies rechtstreeks aan en haalt u waarden op uit parameters en variabelen. U geeft elke geïmplementeerde resource een symbolische naam, zodat u eenvoudig naar die resource in uw sjabloon kunt verwijzen.

Zie JSON en Bicep vergelijken voor sjablonen voor een volledige vergelijking van de syntaxis.

Bicep beheert automatisch afhankelijkheden tussen resources. U kunt het instellen dependsOn voorkomen wanneer de symbolische naam van een resource wordt gebruikt in een andere resourcedeclaratie.

De structuur van het Bicep-bestand is flexibeler dan een JSON-sjabloon. U kunt parameters, variabelen en uitvoer overal in het bestand declareren. In JSON moet u alle parameters, variabelen en uitvoer declareren binnen de bijbehorende secties van de sjabloon.

Ondersteuning krijgen

Hier volgen de stappen voor het openen van een ondersteuningsticket voor problemen met betrekking tot arm-sjablonen (Azure Resource Manager):

  1. Open de Azure Portal.

  2. Selecteer het pictogram Ondersteuning en probleemoplossing in de rechterbovenhoek.

  3. Geef kort een beschrijving van het probleem op, voer een ARM-sjabloon in en selecteer Vervolgens Go.

  4. In welke service ondervindt u een probleem?, selecteert u De portal onder Bewaking en beheer en selecteert u vervolgens Volgende.

  5. Selecteer een abonnement en selecteer vervolgens Volgende.

  6. Selecteer Probleem met ARM-sjablonen en selecteer vervolgens Volgende.

    Schermopname van het aanvragen van ondersteuning voor ARM-sjablonen.

Volgende stappen

Zie de quickstart om aan de slag te gaan.

Zie Veelgestelde vragen voor Bicep voor antwoorden op veelgestelde vragen.