Dela via


Självstudie: Lägga till en resurs i ARM-mallen

I den föregående självstudien lärde du dig att skapa och distribuera din första tomma Azure Resource Manager-mall (ARM-mall). Nu är du redo att distribuera en faktisk resurs till mallen. I det här fallet ett Azure Storage-konto. Den här instruktionen tar 9 minuter att slutföra.

Förutsättningar

Vi rekommenderar att du slutför den inledande självstudien om mallar, men det krävs inte.

Du måste ha Visual Studio Code installerat och arbeta med Azure Resource Manager Tools-tillägget och antingen Azure PowerShell eller Azure Command-Line Interface (CLI). Mer information finns i mallverktyg.

Lägg till resurs

Om du vill lägga till en Azure Storage-kontodefinition i den befintliga mallen tittar du på den markerade JSON-filen i följande exempel. I stället för att försöka kopiera delar av mallen kopierar du hela filen och ersätter mallen med dess innehåll.

Ersätt {provide-unique-name} och klammerparenteserna {} med ett unikt lagringskontonamn.

Viktigt

Lagringskontonamnet måste vara unikt i Hela Azure. Det är bara gemener eller siffror och har en gräns på 24 tecken. Du kan använda ett namn som store1 som prefix och sedan lägga till dina initialer och dagens datum. Namnet kan till exempel vara store1abc06132022.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2021-09-01",
      "name": "{provide-unique-name}",
      "location": "eastus",
      "sku": {
        "name": "Standard_LRS"
      },
      "kind": "StorageV2",
      "properties": {
        "supportsHttpsTrafficOnly": true
      }
    }
  ]
}

Att gissa ett unikt namn för ett lagringskonto är inte enkelt och fungerar inte bra för att automatisera stora distributioner. Senare i den här självstudieserien använder du mallfunktioner som gör det enklare att skapa ett unikt namn.

Resursegenskaper

Du kanske undrar hur du hittar de egenskaper som ska användas för varje resurstyp. Du kan använda ARM-mallreferensen för att hitta de resurstyper som du vill distribuera.

Varje resurs som du distribuerar har minst följande tre egenskaper:

  • type: Resurstyp. Det här värdet är en kombination av namnområdet för resursprovidern och resurstypen, Microsoft.Storage/storageAccountstill exempel .
  • apiVersion: Version av REST-API:et som ska användas för att skapa resursen. Varje resursprovider publicerar sina egna API-versioner, så det här värdet är specifikt för typen.
  • name: Resursens namn.

De flesta resurser har också en location egenskap som anger den region där du distribuerar resursen.

De andra egenskaperna varierar beroende på resurstyp och API-version. Det är viktigt att förstå anslutningen mellan API-versionen och de tillgängliga egenskaperna, så vi går in på mer information.

I den här självstudien lägger du till ett lagringskonto i mallen. Du kan se lagringskontots API-version på storageAccounts 2021-09-01. Observera att du inte lägger till alla egenskaper i mallen. Många av egenskaperna är valfria. Resursprovidern Microsoft.Storage kan släppa en ny API-version, men den version som du distribuerar behöver inte ändras. Du kan fortsätta använda den versionen och veta att resultatet av distributionen är konsekvent.

Om du visar en äldre API-version kan du se att en mindre uppsättning egenskaper är tillgängliga.

Om du bestämmer dig för att ändra API-versionen för en resurs ska du utvärdera egenskaperna för den versionen och justera mallen på rätt sätt.

Distribuera mallen

Du kan distribuera mallen för att skapa lagringskontot. Ge distributionen ett annat namn så att du enkelt kan hitta den i historiken.

Om du inte har skapat resursgruppen kan du läsa Skapa resursgrupp. Exemplet förutsätter att du har angett variabeln templateFile till sökvägen till mallfilen, som du ser i den första självstudien.

New-AzResourceGroupDeployment `
  -Name addstorage `
  -ResourceGroupName myResourceGroup `
  -TemplateFile $templateFile

Anteckning

Om distributionen misslyckas använder du växeln verbose för att hämta information om de resurser som du skapar. Använd växeln debug för att få mer information om felsökning.

Dessa fel är två möjliga distributionsfel som du kan stöta på:

  • Error: Code=AccountNameInvalid; Message={provide-unique-name} är inte ett giltigt lagringskontonamn. Lagringskontonamnet måste vara mellan 3 och 24 tecken långt och endast använda siffror och gemener.

    Ersätt med ett unikt lagringskontonamn i mallen {provide-unique-name} . Se Lägg till resurs.

  • Error: Code=StorageAccountAlreadyTaken; Message=The storage account named store1abc09092019 redan har tagits.

    Prova ett annat lagringskontonamn i mallen.

Den här distributionen tar längre tid än din tomma malldistribution eftersom du skapar ett lagringskonto. Det kan ta ungefär en minut.

Verifiera distributionen

Du kan verifiera distributionen genom att utforska resursgruppen från Azure Portal.

  1. Logga in på Azure-portalen.
  2. Välj Resursgrupper på den vänstra menyn.
  3. Markera kryssrutan till vänster om myResourceGroup och välj myResourceGroup
  4. Välj den resursgrupp som du distribuerade till.
  5. Du ser att ett lagringskonto har distribuerats.
  6. Observera att distributionsetiketten nu säger: Distributioner: 2 Lyckades.

Rensa resurser

Om du går vidare till nästa självstudie behöver du inte ta bort resursgruppen.

Om du stoppar nu kanske du vill rensa de resurser som du har distribuerat genom att ta bort resursgruppen.

  1. I Azure Portal väljer du Resursgrupp på den vänstra menyn.
  2. Ange resursgruppens namn i rutan Filtrera för alla fält ... .
  3. Markera kryssrutan bredvid myResourceGroup och välj myResourceGroup eller det resursgruppsnamn som du har valt.
  4. Välj Ta bort resursgrupp på den översta menyn.

Nästa steg

Du har skapat en enkel mall för att distribuera ett Azure Storage-konto. I de senare självstudierna lär du dig att lägga till parametrar, variabler, resurser och utdata i en mall. Dessa funktioner är byggstenarna för mycket mer komplexa mallar.