Dela via


Självstudie: Lägga till utdata i ARM-mallen

I den här självstudien får du lära dig hur du returnerar ett värde från din Azure Resource Manager-mall (ARM-mall). Du använder utdata när du behöver ett värde för en resurs som du distribuerar. Den här självstudien tar 7 minuter att slutföra.

Förutsättningar

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

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

Granska mall

I slutet av den föregående självstudien hade mallen följande JSON:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "storagePrefix": {
      "type": "string",
      "minLength": 3,
      "maxLength": 11
    },
    "storageSKU": {
      "type": "string",
      "defaultValue": "Standard_LRS",
      "allowedValues": [
        "Standard_LRS",
        "Standard_GRS",
        "Standard_RAGRS",
        "Standard_ZRS",
        "Premium_LRS",
        "Premium_ZRS",
        "Standard_GZRS",
        "Standard_RAGZRS"
      ]
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]"
    }
  },
  "variables": {
    "uniqueStorageName": "[concat(parameters('storagePrefix'), uniqueString(resourceGroup().id))]"
  },
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2021-09-01",
      "name": "[variables('uniqueStorageName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "[parameters('storageSKU')]"
      },
      "kind": "StorageV2",
      "properties": {
        "supportsHttpsTrafficOnly": true
      }
    }
  ]
}

Det distribuerar ett lagringskonto, men det returnerar ingen information om det. Du kan behöva samla in egenskaper från den nya resursen så att de blir tillgängliga senare som referens.

Lägga till utdata

Du kan använda utdata för att returnera värden från mallen. Det kan till exempel vara bra att hämta slutpunkterna för ditt nya lagringskonto.

I följande exempel visas ändringen av mallen för att lägga till ett utdatavärde. Kopiera hela filen och ersätt mallen med dess innehåll.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "storagePrefix": {
      "type": "string",
      "minLength": 3,
      "maxLength": 11
    },
    "storageSKU": {
      "type": "string",
      "defaultValue": "Standard_LRS",
      "allowedValues": [
        "Standard_LRS",
        "Standard_GRS",
        "Standard_RAGRS",
        "Standard_ZRS",
        "Premium_LRS",
        "Premium_ZRS",
        "Standard_GZRS",
        "Standard_RAGZRS"
      ]
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]"
    }
  },
  "variables": {
    "uniqueStorageName": "[concat(parameters('storagePrefix'), uniqueString(resourceGroup().id))]"
  },
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2021-09-01",
      "name": "[variables('uniqueStorageName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "[parameters('storageSKU')]"
      },
      "kind": "StorageV2",
      "properties": {
        "supportsHttpsTrafficOnly": true
      }
    }
  ],
  "outputs": {
    "storageEndpoint": {
      "type": "object",
      "value": "[reference(variables('uniqueStorageName')).primaryEndpoints]"
    }
  }
}

Det finns några viktiga objekt att notera om utdatavärdet som du lade till.

Typen av returnerat värde är inställd på , vilket innebär att objectden returnerar ett JSON-objekt.

Den använder referensfunktionen för att hämta körningstillståndet för lagringskontot. Om du vill hämta körningstillståndet för en resurs skickar du namnet eller ID:t för en resurs. I det här fallet använder du samma variabel som du använde för att skapa namnet på lagringskontot.

Slutligen returneras primaryEndpoints egenskapen från lagringskontot.

Distribuera mallen

Du är redo att distribuera mallen och titta på det returnerade värdet.

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 addoutputs `
  -ResourceGroupName myResourceGroup `
  -TemplateFile $templateFile `
  -storagePrefix "store" `
  -storageSKU Standard_LRS

I utdata för distributionskommandot visas ett objekt som liknar följande exempel endast om utdata är i JSON-format:

{
    "dfs": "https://storeluktbfkpjjrkm.dfs.core.windows.net/",
    "web": "https://storeluktbfkpjjrkm.z19.web.core.windows.net/",
    "blob": "https://storeluktbfkpjjrkm.blob.core.windows.net/",
    "queue": "https://storeluktbfkpjjrkm.queue.core.windows.net/",
    "table": "https://storeluktbfkpjjrkm.table.core.windows.net/",
    "file": "https://storeluktbfkpjjrkm.file.core.windows.net/"
}

Anteckning

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

Granska ditt arbete

Du har gjort mycket i de senaste sex självstudierna. Låt oss ta en stund att granska vad du har gjort. Du har skapat en mall med parametrar som är enkla att tillhandahålla. Mallen kan återanvändas i olika miljöer eftersom den möjliggör anpassning och dynamiskt skapar nödvändiga värden. Den returnerar också information om lagringskontot som du kan använda i skriptet.

Nu ska vi titta på resursgruppen och distributionshistoriken.

  1. Logga in på Azure-portalen.

  2. Välj Resursgrupper på den vänstra menyn.

  3. Välj den resursgrupp som du distribuerade till.

  4. Beroende på vilka steg du utförde bör du ha minst ett och kanske flera lagringskonton i resursgruppen.

  5. Du bör också ha flera lyckade distributioner i historiken. Välj den länken.

    Skärmbild av Azure Portal som visar distributionslänken.

  6. Du ser alla dina distributioner i historiken. Välj distributionen med namnet addoutputs.

    Skärmbild av Azure Portal som visar distributionshistoriken.

  7. Du kan granska indata.

    Skärmbild av Azure Portal som visar distributionsindata.

  8. Du kan granska utdata.

    Skärmbild av Azure Portal som visar distributionsutdata.

  9. Du kan granska mallen.

    Skärmbild av Azure Portal som visar distributionsmallen.

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 ta bort resursgruppen.

  1. I Azure Portal väljer du Resursgrupper på den vänstra menyn.
  2. Skriv resursgruppens namn i fältet Filter för alla fält... textfält.
  3. Markera kryssrutan bredvid myResourceGroup och välj myResourceGroup eller resursgruppens namn.
  4. Välj Ta bort resursgrupp på den översta menyn.

Nästa steg

I den här självstudien har du lagt till ett returvärde i mallen. I nästa självstudie får du lära dig hur du exporterar en mall och använder delar av den exporterade mallen i mallen.