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:
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.
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:
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.
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.
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.
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.
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:
Skapa lösningar från slutpunkt till slutpunkt i Microsoft Azure för att skapa Azure Functions, implementera och hantera webbappar, utveckla lösningar som använder Azure Storage med mera.