Den här snabbstarten visar hur du paketerar Azure Resource Manager mall (ARM-mall) i en mallspecifikt. Sedan distribuerar du mallspecifikationen. Mallspecifikationen innehåller en ARM-mall som distribuerar ett lagringskonto.
Du skapar en mallspecifikt från en lokal mall. Kopiera följande mall och spara den lokalt till en fil med namnet azuredeploy.json. Den här snabbstarten förutsätter att du har sparat till en sökväg c:\Templates\azuredeploy.json, men du kan använda valfri sökväg.
Mallspecifikationen är en resurstyp med namnet Microsoft.Resources/templateSpecs . Om du vill skapa en mallspecifikhet använder du PowerShell, Azure CLI, portalen eller en ARM-mall.
Sök efter mallspecifikt. Välj Mallspecifikter bland de tillgängliga alternativen.
Välj Importera mall.
Välj mappikonen.
Gå till den lokala mall som du sparade och välj den. Välj Öppna.
Välj Importera.
Ange följande värden:
Namn: Ange ett namn för mallspecifikationen. Till exempel storageSpec
Prenumeration: Välj en Azure-prenumeration som används för att skapa mallspecifikationen.
Resursgrupp: Välj Skapa ny och ange sedan ett nytt resursgruppsnamn. Till exempel templateSpecRG.
Plats: Välj en plats för resursgruppen. Till exempel USA, västra 2.
Version: Ange en version för mallspecifikationen. Använd 1.0.
Välj Granska + skapa.
Välj Skapa.
Anteckning
I stället för att använda en ARM-mall rekommenderar vi att du använder PowerShell eller CLI för att skapa mallspecifikationen. Dessa verktyg konverterar automatiskt länkade mallar till artefakter som är anslutna till din huvudmall. När du använder en ARM-mall för att skapa mallspecifikationen måste du manuellt lägga till dessa länkade mallar som artefakter, vilket kan vara komplicerat.
När du använder en ARM-mall för att skapa mallspecifikationen bäddas mallen in i resursdefinitionen. Det finns några ändringar som du behöver göra i din lokala mall. Kopiera följande mall och spara den lokalt som azuredeploy.json.
Anteckning
I den inbäddade mallen måste alla malluttryck vara rymde med en andra vänster hakparentes. Använd "[[ i stället för "[ . JSON-matriser använder fortfarande en enda vänster hakparentes.
az deployment group create \
--name templateSpecRG \
--template-file "c:\Templates\azuredeploy.json"
Distribuera mallspecifikt
Om du vill distribuera en mallspecifikt använder du samma distributionskommandon som du använder för att distribuera en mall. Skicka in resurs-ID:t för mallspecifikationen som ska distribueras.
az deployment group create \
--name storageRG \
--template-file "c:\Templates\storage.json"
Bevilja åtkomst
Om du vill att andra användare i din organisation ska kunna distribuera mallspecifikationen måste du ge dem läsbehörighet. Du kan tilldela rollen Läsare till en Azure AD-grupp för den resursgrupp som innehåller mallspecifikter som du vill dela. Mer information finns i Självstudie: Bevilja en grupp åtkomst till Azure-resurser med hjälp av Azure PowerShell.
Uppdatera mall
Anta att du har identifierat en ändring som du vill göra i mallen i mallspecifikationen. Följande mall liknar din tidigare mall, förutom att den lägger till ett prefix för lagringskontots namn. Kopiera följande mall och uppdatera filen azuredeploy.json.
I stället för att skapa en ny mallspecifikt för den ändrade mallen lägger du till en ny version med namnet i den befintliga mallspecifikationen. Användarna kan välja vilken version som 2.0 ska distribueras.
Distribuera den versionen. Ange ett prefix för lagringskontots namn.
az deployment group create \
--resource-group storageRG \
--template-spec $id \
--parameters namePrefix='demoaccount'
I mallspecifikationen väljer du Skapa ny version.
Ge den nya versionen ett 2.0 namn och lägg till anteckningar om du vill. Välj Redigera mall.
Ersätt innehållet i mallen med din uppdaterade mall. Välj Granska och spara.
Välj Spara ändringar.
Om du vill distribuera den nya versionen väljer du Versioner
För den version som du vill distribuera väljer du de tre punkterna och Distribuera.
Fyll i fälten som du gjorde när du distribuerade den tidigare versionen.
Välj Granska + skapa.
Välj Skapa.
Återigen måste du göra några ändringar i din lokala mall så att den fungerar med mallspecifikt. Kopiera följande mall och spara den lokalt som azuredeploy.json.