Läs på engelska

Dela via


Vad är Bicep?

Bicep är ett domänspecifikt språk som använder deklarativ syntax för att distribuera Azure-resurser. I en Bicep-fil definierar du den infrastruktur som du vill distribuera till Azure och använder sedan filen under hela utvecklingslivscykeln för att upprepade gånger distribuera infrastrukturen. Dina resurser distribueras på ett konsekvent sätt.

Bicep ger kortfattad syntax, tillförlitlig typsäkerhet och stöd för återanvändning av kod. Bicep erbjuder en förstklassig redigeringsupplevelse för dina infrastruktur-som-kod-lösningar i Azure.

Fördelar med Bicep

Bicep ger följande fördelar:

  • Stöd för alla resurstyper och API-versioner: Bicep stöder omedelbart alla förhandsversioner och GA-versioner för Azure-tjänster. Så snart en resursprovider introducerar nya resurstyper och API-versioner kan du använda dem i Bicep-filen. Du behöver inte vänta tills verktygen har uppdaterats innan du använder de nya tjänsterna.

  • Enkel syntax: Jämfört med motsvarande JSON-mall är Bicep-filer mer koncisa och lättare att läsa. Bicep kräver inte förkunskaper om programmeringsspråk. Bicep-syntaxen är deklarativ och anger vilka resurser och resursegenskaper du vill distribuera.

    I följande exempel visas skillnaden mellan en Bicep-fil och motsvarande JSON-mall. Båda exemplen distribuerar ett lagringskonto:

    Bicep
    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'
      }
    }
    

  • Redigeringsupplevelse: När du använder Bicep-tillägget för VS Code för att skapa dina Bicep-filer får du en förstklassig redigeringsupplevelse. Redigeraren ger omfattande typsäkerhet, IntelliSense och syntaxverifiering.

    En skärmdump av redigering av en Bicep-fil i realtid

    Du kan också skapa Bicep-filer i Visual Studio med Bicep-tillägget för Visual Studio.

  • Repeterbara resultat: Distribuera infrastrukturen under hela utvecklingslivscykeln med förtroende för att dina resurser distribueras konsekvent. Bicep-filer är idempotent, vilket innebär att du kan distribuera samma fil många gånger och få samma resurstyper i samma tillstånd. Du kan utveckla en fil som representerar önskat tillstånd i stället för att utveckla många separata filer som representerar uppdateringar. Följande fil skapar till exempel ett lagringskonto. Om du distribuerar den här mallen och lagringskontot när de angivna egenskaperna redan finns görs inte ändringar:

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

  • Orkestrering: Du behöver inte bekymra dig om komplexiteten i beställningsåtgärder. Resource Manager samordnar distributionen av beroende resurser så att de skapas i rätt ordning. När det är möjligt distribuerar Resource Manager resurser parallellt, vilket hjälper dina distributioner att slutföras snabbare än seriell distribution. Du distribuerar filen via ett i stället för flera imperativa kommandon.

    Ett diagram som jämför distributionen mellan en Bicep-fil och en infrastruktur som kod som inte finns i en mall.

  • Modularitet: Använd moduler för att segmentera Bicep-koden i hanterbara delar. Moduler hjälper dig att återanvända kod och förenkla utvecklingen. En modul distribuerar en uppsättning relaterade resurser. Lägg till en modul i en Bicep-fil när du behöver distribuera dessa resurser.

  • Integrering med Azure-tjänster: Bicep integreras med Azure-tjänster som Azure Policy, mallspecifikationer och Azure Blueprints.

  • Ändringar i förhandsversionen: Du kan använda konsekvensåtgärdenför att förhandsgranska ändringar innan du distribuerar Bicep-filen. Konsekvensåtgärden visar vilka resurser som ska skapas, uppdateras eller tas bort och eventuella resursegenskaper som ska ändras. Den kontrollerar även miljöns aktuella tillstånd och eliminerar behovet av att hantera det här tillståndet.

  • Inga tillstånds- eller tillståndsfiler att hantera: Azure lagrar alla tillstånd. Du kan samarbeta med andra och vara säker på att dina uppdateringar hanteras som förväntat.

  • Ingen kostnad och öppen källkod: Eftersom Bicep är kostnadsfri behöver du inte betala för premiumfunktioner. Microsoft Support stöder det.

Kom igång

Så här kommer du igång med Bicep:

  1. Installera verktygen. Mer information finns i Konfigurera utvecklings- och distributionsmiljöer för Bicep eller använd VS Code devcontainer/Codespaces-lagringsplatsen för att hämta en förkonfigurerad redigeringsmiljö.
  2. Slutför modulerna Snabbstart och Learn för Bicep.

Information om hur du dekompilerar en befintlig Resource Manager-mall till Bicep finns i Decompiling ARM template JSON to Bicep (Decompiling ARM template JSON to Bicep). Du kan använda Bicep Playground för att visa Bicep och dess motsvarighet, JSON, sida vid sida.

Mer information om de resurser som finns tillgängliga i din Bicep-fil finns i Bicep-resursreferens.

Du hittar Bicep-exempel på Bicep GitHub-lagringsplatsen.

Om språket

Bicep är inte avsett som ett allmänt programmeringsspråk för att skriva program. En Bicep-fil deklarerar Azure-resurser och resursegenskaper utan att skriva en sekvens med programmeringskommandon för att skapa dem.

Information om hur du spårar status för Bicep-arbetet finns i Bicep-projektlagringsplatsen.

Om du vill veta mer om Bicep kan du titta på följande video:

Du kan använda Bicep i stället för JSON för att utveckla Resource Manager-mallar. JSON-syntaxen för att skapa en Resource Manager-mall kan vara utförlig och kräva komplicerade uttryck. Bicep-syntaxen minskar komplexiteten och förbättrar utvecklingsupplevelsen. Bicep är en transparent abstraktion över en Resource Manager JSON-mall som inte förlorar funktionerna i en JSON-mall. Under distributionen konverterar Bicep CLI en Bicep-fil till en Resource Manager JSON-mall.

Resurstyper, API-versioner och egenskaper som är giltiga i en Resource Manager-mall är giltiga i en Bicep-fil.

Bicep erbjuder en enklare och mer koncis syntax jämfört med motsvarande JSON. Du använder inte hakparenteserade [...]uttryck . I stället anropar du funktioner direkt och hämtar värden från parametrar och variabler. Du ger varje distribuerad resurs ett symboliskt namn, vilket gör det enkelt att referera till resursen i mallen.

En fullständig jämförelse av syntaxen finns i Jämföra JSON och Bicep för mallar.

Bicep hanterar automatiskt beroenden mellan resurser. Du kan undvika att ange dependsOn när det symboliska namnet på en resurs används i en annan resursdeklaration.

Strukturen för Bicep-filen är mer flexibel än en JSON-mall. Du kan deklarera parametrar, variabler och utdata var som helst i filen. I JSON måste du deklarera alla parametrar, variabler och utdata i motsvarande avsnitt i mallen.

Få support

Här följer stegen för att öppna ett supportärende för azure resource manager-mallrelaterade problem:

  1. Öppna Azure Portal.

  2. Välj ikonen Support + Felsökning i det övre högra hörnet.

  3. I Beskriv problemet kortfattat anger du ARM-mall och väljer sedan Gå.

  4. I Vilken tjänst har du problem med? väljer du Portal under Övervakning och hantering och väljer sedan Nästa.

  5. Välj en prenumeration och välj sedan Nästa.

  6. Välj Problem med ARM-mallar och välj sedan Nästa.

    Skärmbild av begäran om stöd för ARM-mallar.

Nästa steg

Information om hur du kommer igång finns i Snabbstart.

Svar på vanliga frågor finns i Vanliga frågor och svar för Bicep.