Övning – Definiera resurser i en Bicep-mall
Kommentar
Första gången du aktiverar en sandbox-miljö och godkänner villkoren associeras ditt Microsoft-konto med en ny Azure-katalog med namnet Microsoft Learn Sandbox. Du läggs också till i en särskild prenumeration med namnet Concierge-prenumeration.
För din leksakslanseringswebbplats bestämmer du dig för att först skapa ett konceptbevis genom att skapa en grundläggande Bicep-mall. I den här övningen skapar du ett lagringskonto, en Azure App Service-plan och en app. Senare ändrar du mallen så att den blir mer återanvändbar.
Under processen gör du följande:
- Skapa en mall som definierar en enskild lagringskontoresurs som innehåller hårdkodade värden.
- Etablera infrastrukturen och verifiera resultatet.
- Lägg till en App Service-plan och app i mallen.
- Etablera infrastrukturen igen för att se de nya resurserna.
Den här övningen använder Bicep-tillägget för Visual Studio Code. Installera tillägget i Visual Studio Code.
Skapa en Bicep-mall som innehåller ett lagringskonto
Öppna Visual Studio Code.
Skapa en ny fil med namnet main.bicep.
Spara den tomma filen så att Visual Studio Code läser in Bicep-verktyget.
Du kan antingen välja Spara som-fil> eller välja Ctrl+S i Windows (⌘+S på macOS). Kom ihåg var du har sparat filen. Du kanske till exempel vill skapa en mallmapp där filen ska sparas.
Lägg till följande Bicep-kod i filen. Du kommer snart att distribuera mallen. Det är en bra idé att skriva koden själv i stället för att kopiera och klistra in så att du kan se hur verktygen hjälper dig att skriva dina Bicep-filer.
resource storageAccount 'Microsoft.Storage/storageAccounts@2023-05-01' = { name: 'toylaunchstorage' location: 'eastus' sku: { name: 'Standard_LRS' } kind: 'StorageV2' properties: { accessTier: 'Hot' } }
Dricks
Bicep är strikt om var du lägger radbrytningar, så se till att du inte sätter radbrytningar på andra platser än vad som anges här.
Observera att Visual Studio Code automatiskt föreslår egenskapsnamn när du skriver. Bicep-tillägget för Visual Studio Code förstår de resurser som du definierar i mallen och visar de tillgängliga egenskaper och värden som du kan använda.
Uppdatera namnet på lagringskontot från
toylaunchstorage
till något som sannolikt kommer att vara unikt, eftersom varje lagringskonto behöver ett globalt unikt namn. Kontrollera att namnet är mellan 3 och 24 tecken och endast innehåller gemener och siffror.Viktigt!
Hoppa inte över det här steget. Om du gör det distribueras inte Bicep-filen.
Spara ändringarna i filen.
Distribuera Bicep-mallen till Azure
För att distribuera mallen till Azure behöver du logga in på ditt Azure-konto från Visual Studio Code-terminalen. Se till att du har installerat Azure CLI och kom ihåg att logga in med samma konto som du använde för att aktivera sandbox-miljön.
I menyn Terminal väljer du Ny terminal. Terminalfönstret öppnas vanligtvis på den nedre halvan av skärmen.
Om terminalfönstret visar bash på höger sida innebär det att rätt gränssnitt redan är öppet. Om du ser en bash shell-ikon till höger kan du välja den för att starta gränssnittet.
Om ett annat gränssnitt än bash visas väljer du listrutepilen för gränssnittet och väljer sedan Git Bash.
I terminalen går du till katalogen där du sparade mallen. Om du till exempel har sparat mallen i mallmappen kan du använda det här kommandot:
cd templates
Installera Bicep
Kör följande kommando för att se till att du har den senaste versionen av Bicep:
az bicep install && az bicep upgrade
Logga in på Azure
Logga in på Azure i Visual Studio Code-terminalen genom att köra följande kommando:
az login
Logga in på ditt Azure-konto i webbläsaren som öppnas.
Visual Studio Code-terminalen visar en lista över de prenumerationer som är associerade med det här kontot.
Ange standardprenumerationen för alla Azure CLI-kommandon som du kör i den här sessionen.
az account set --subscription "Concierge Subscription"
Kommentar
Om du har använt mer än en sandbox-miljö nyligen kan terminalen visa mer än en instans av Concierge-prenumerationen. I det här fallet använder du följande två steg för att ange ett som standardprenumeration. Om föregående kommando lyckades och endast en Concierge-prenumeration visas hoppar du över de kommande två stegen.
Hämta Concierge-prenumerationernas ID:n.
az account list \ --refresh \ --query "[?contains(name, 'Concierge Subscription')].id" \ --output table
Använd prenumerations-ID:t för att ange standardprenumerationen. Ersätt {your subscription ID} med ID:t för den senaste Concierge-prenumerationen.
az account set --subscription {your subscription ID}
Ange standardresursgruppen
När du använder Azure CLI kan du ange standardresursgruppen och utelämna parametern från resten av Azure CLI-kommandona i den här övningen. Ange standardvärdet för den resursgrupp som skapas åt dig i sandbox-miljön.
az configure --defaults group="<rgn>[sandbox resource group name]</rgn>"
Distribuera mallen till Azure
Kör följande kommando från terminalen i Visual Studio Code för att distribuera Bicep-mallen till Azure. Kommandot kan ta en minut eller två att slutföra och sedan visas en lyckad distribution. Om du ser en varning om att platsen är hårdkodad kan du ignorera den. Du åtgärdar platsen senare i modulen. Det är säkert att fortsätta och distributionen kommer att lyckas.
az deployment group create --template-file main.bicep
Du ser Running...
i terminalen.
Om du vill distribuera den här mallen till Azure loggar du in på ditt Azure-konto från Visual Studio Code-terminalen. Se till att du har installerat Azure PowerShell och logga in på samma konto som aktiverade sandbox-miljön.
I menyn Terminal väljer du Ny terminal. Terminalfönstret öppnas vanligtvis på den nedre halvan av skärmen.
Om terminalfönstret visar pwsh eller powershell till höger betyder det att rätt gränssnitt redan är öppet. Om du ser en PowerShell-gränssnittsikon till höger kan du också välja den för att starta gränssnittet.
Om ett annat gränssnitt än pwsh eller powershell visas väljer du listrutepilen shell och väljer sedan PowerShell.
I terminalen går du till katalogen där du sparade mallen. Om du till exempel har sparat mallen i mallmappen kan du använda det här kommandot:
Set-Location -Path templates
Installera Bicep CLI
Om du vill använda Bicep från Azure PowerShell installerar du Bicep CLI.
Logga in i Azure med Azure PowerShell
Kör följande kommando i Visual Studio Code-terminalen:
Connect-AzAccount
En webbläsare öppnas så att du kan logga in på ditt Azure-konto.
När du har loggat in på Azure visar terminalen en lista över de prenumerationer som är associerade med det här kontot.
Om du har aktiverat sandbox-miljön visas en prenumeration med namnet Concierge-prenumeration . Använd den för resten av övningen.
Ange standardprenumerationen för alla Azure PowerShell-kommandon som du kör i den här sessionen.
$context = Get-AzSubscription -SubscriptionName 'Concierge Subscription' Set-AzContext $context
Kommentar
Om du har använt mer än en sandbox-miljö nyligen kan terminalen visa mer än en instans av Concierge-prenumerationen. I det här fallet använder du följande två steg för att ange ett som standardprenumeration. Om föregående kommando lyckades och endast en Concierge-prenumeration visas hoppar du över de kommande två stegen.
Skaffa prenumerations-ID:t. När du kör följande kommando visas dina prenumerationer och deras ID:n.
Concierge Subscription
Leta efter och kopiera sedan ID:t från den andra kolumnen. Det ser ut ungefär somaaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e
.Get-AzSubscription
Ändra din aktiva prenumeration till Concierge-prenumeration. Ersätt {Ditt prenumerations-ID } med det som du kopierade.
$context = Get-AzSubscription -SubscriptionId {Your subscription ID} Set-AzContext $context
Ange standardresursgruppen
Du kan ange standardresursgruppen och utelämna parametern från resten av Azure PowerShell-kommandona i den här övningen. Ange den här standardinställningen till den resursgrupp som skapats åt dig i sandbox-miljön.
Set-AzDefault -ResourceGroupName <rgn>[sandbox resource group name]</rgn>
Distribuera mallen till Azure
Distribuera mallen till Azure med hjälp av följande Azure PowerShell-kommando i terminalen. Kommandot kan ta en minut eller två att slutföra och du ser en lyckad distribution. Om du ser en varning om att platsen är hårdkodad kan du ignorera den. Du åtgärdar platsen senare i modulen. Det är säkert att fortsätta och distributionen kommer att lyckas.
New-AzResourceGroupDeployment -TemplateFile main.bicep
Verifiera distributionen
Första gången du distribuerar en Bicep-mall kanske du vill använda Azure Portal för att kontrollera att distributionen har slutförts och för att kontrollera resultatet.
Gå till Azure Portal och kontrollera att du är i sandbox-prenumerationen:
- Välj din avatar i det övre högra hörnet på sidan.
- Välj Växla katalog. Välj katalogen Sandbox-miljö för Microsoft Learn i listan.
På den vänstra panelen väljer du Resursgrupper.
Välj
[resursgruppsnamn för sandbox-miljö] .I Översikt kan du se att en distribution lyckades. Du kan behöva expandera området Essentials för att se distributionen.
Välj 1 lyckades för att visa information om distributionen.
Välj den distribution som kallas main för att se vilka resurser som har distribuerats och välj sedan Distributionsinformation för att expandera den. I det här fallet finns det ett lagringskonto med det namn som du har angett.
Lämna sidan öppen i webbläsaren. Du går tillbaka till distributionerna senare.
Du kan också verifiera distributionen från kommandoraden. Det gör du genom att köra följande Azure CLI-kommando:
az deployment group list --output table
Du kan också verifiera distributionen från kommandoraden. Det gör du genom att köra följande Azure PowerShell-kommando:
Get-AzResourceGroupDeployment -ResourceGroupName <rgn>[sandbox resource group name]</rgn> | Format-Table
Lägga till en App Service-plan och app i din Bicep-mall
I föregående uppgift lärde du dig hur du skapar en mall som innehåller en enda resurs och distribuerar den. Nu är du redo att distribuera fler resurser, inklusive ett beroende. I den här uppgiften lägger du till en App Service-plan och app i Bicep-mallen.
I filen main.bicep i Visual Studio Code lägger du till följande kod längst ned i filen:
resource appServicePlan 'Microsoft.Web/serverfarms@2023-12-01' = { name: 'toy-product-launch-plan-starter' location: 'eastus' sku: { name: 'F1' } } resource appServiceApp 'Microsoft.Web/sites@2023-12-01' = { name: 'toy-product-launch-1' location: 'eastus' properties: { serverFarmId: appServicePlan.id httpsOnly: true } }
Uppdatera namnet på App Service-appen från
toy-product-launch-1
till något som sannolikt kommer att vara unikt. Kontrollera att namnet är mellan 2 och 60 tecken med versaler och gemener, siffror och bindestreck och inte startar eller slutar med bindestreck.Spara ändringarna i filen.
Distribuera den uppdaterade Bicep-mallen
Kör följande Azure CLI-kommando i terminalen. Du kan ignorera varningarna om den hårdkodade platsen. Du kommer snart att åtgärda platsen.
az deployment group create --template-file main.bicep
Kör följande Azure PowerShell-kommando i terminalen. Du kan ignorera varningsmeddelandena om den hårdkodade platsen. Du kommer snart att åtgärda platsen.
New-AzResourceGroupDeployment -TemplateFile main.bicep
Kontrollera distributionen
Gå tillbaka till Azure Portal och gå till resursgruppen. Du ser fortfarande en lyckad distribution eftersom distributionen använde samma namn som den första distributionen.
Välj länken 1 Lyckades .
Välj den distribution som kallas main och välj sedan Distributionsinformation för att expandera listan över distribuerade resurser.
Observera att App Service-planen och appen har distribuerats.