Delen via


Zelfstudie: Uitvoer aan uw ARM-sjabloon toevoegen

In deze zelfstudie leert u hoe u een waarde uit uw ARM-sjabloon (Azure Resource Manager) kunt retourneren. U gebruikt uitvoer wanneer u een waarde nodig hebt voor een resource die u implementeert. Deze zelfstudie neemt ongeveer 7 minuten in beslag.

Vereisten

U wordt aangeraden om eerst de zelfstudie over variabelen te voltooien, maar dit is niet verplicht.

U moet Beschikken over Visual Studio Code met de extensie Resource Manager Tools en Azure PowerShell of Azure Command-Line Interface (CLI). Zie Hulpprogramma's voor sjablonen voor meer informatie.

Sjabloon controleren

Aan het einde van de vorige zelfstudie bestond uw sjabloon uit de volgende 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
      }
    }
  ]
}

Er wordt een opslagaccount geïmplementeerd, maar er wordt geen informatie over geretourneerd. Mogelijk moet u eigenschappen van uw nieuwe resource vastleggen, zodat deze later beschikbaar zijn ter referentie.

Uitvoer toevoegen

U kunt uitvoer gebruiken om waarden te retourneren uit de sjabloon. Het kan bijvoorbeeld handig zijn om de eindpunten voor uw nieuwe opslagaccount op te halen.

In het volgende voorbeeld ziet u de wijziging in de sjabloon die nodig is om een uitvoerwaarde toe te voegen. Kopieer het hele bestand en vervang uw sjabloon door de inhoud ervan.

{
  "$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]"
    }
  }
}

Er zijn enkele belangrijke dingen die u moet weten over de uitvoerwaarde die u hebt toegevoegd.

Het type geretourneerde waarde is ingesteld op object, wat betekent dat er een JSON-object wordt geretourneerd.

Er wordt gebruikgemaakt van de reference-functie om de runtimestatus van het opslagaccount op te halen. Als u de runtimestatus van een resource wilt ophalen, geeft u de naam of id van een resource door. In dit geval gebruikt u de variabele die u hebt gebruikt voor het maken van de naam van het opslagaccount.

Ten slotte wordt de primaryEndpoints eigenschap van het opslagaccount geretourneerd.

Sjabloon implementeren

U bent klaar om de sjabloon te implementeren en de geretourneerde waarde te bekijken.

Zie Resourcegroep maken als u de resourcegroep nog niet hebt gemaakt. In het voorbeeld wordt ervan uitgegaan dat u de variabele templateFile hebt ingesteld op het pad naar het sjabloonbestand, zoals weergegeven in de eerste zelfstudie.

New-AzResourceGroupDeployment `
  -Name addoutputs `
  -ResourceGroupName myResourceGroup `
  -TemplateFile $templateFile `
  -storagePrefix "store" `
  -storageSKU Standard_LRS

In de uitvoer voor de implementatieopdracht ziet u alleen een object dat lijkt op het volgende voorbeeld als de uitvoer de JSON-indeling heeft:

{
    "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/"
}

Notitie

Als de implementatie mislukt, gebruikt u de verbose schakeloptie om informatie op te halen over de resources die worden gemaakt. Gebruik de schakeloptie debug voor meer informatie over foutopsporing.

Uw werk controleren

U hebt veel gedaan in de afgelopen zes zelfstudies. Laten we even kijken wat u hebt gedaan. U hebt een sjabloon gemaakt met parameters die u eenvoudig kunt opgeven. De sjabloon kan in verschillende omgevingen worden gebruikt, omdat deze kan worden aangepast en de benodigde waarden dynamisch kunnen worden gemaakt. Er wordt ook informatie geretourneerd over het opslagaccount dat u in uw script kunt gebruiken.

Nu gaan we eens kijken naar de resourcegroep en de implementatiegeschiedenis.

  1. Meld u aan bij de Azure-portal.

  2. Selecteer Resourcegroepen in het linkermenu.

  3. Selecteer de resourcegroep waarin de sjabloon is geïmplementeerd.

  4. Afhankelijk van de stappen die u hebt uitgevoerd, hebt u een of meer opslagaccounts in de resourcegroep.

  5. Als het goed is, hebt u ook een aantal geslaagde implementaties, die worden weergegeven in de geschiedenis. Selecteer deze koppeling.

    Schermopname van de Azure Portal met de koppeling implementaties.

  6. U ziet al uw implementaties in de geschiedenis. Selecteer de implementatie met de naam addoutputs.

    Schermopname van de Azure Portal met de implementatiegeschiedenis.

  7. U kunt de invoerwaarden bekijken.

    Schermopname van de Azure Portal met de implementatie-invoer.

  8. U kunt de uitvoerwaarden bekijken.

    Schermopname van de Azure Portal met de uitvoer van de implementatie.

  9. U kunt de sjabloon bekijken.

    Schermopname van de Azure Portal met de implementatiesjabloon.

Resources opschonen

Als u verdergaat met de volgende zelfstudie, hoeft u de resourcegroep niet te verwijderen.

Als u nu stopt, wilt u de resourcegroep mogelijk verwijderen.

  1. Selecteer in het Azure Portal Resourcegroepen in het menu links.
  2. Typ de naam van de resourcegroep in het tekstveld Filteren op een veld...
  3. Schakel het selectievakje naast myResourceGroup in en selecteer myResourceGroup of de naam van uw resourcegroep.
  4. Selecteer Resourcegroep verwijderen in het bovenste menu.

Volgende stappen

In deze zelfstudie hebt u een retourwaarde aan de sjabloon toegevoegd. In de volgende zelfstudie leert u hoe u een sjabloon exporteert en delen van die geëxporteerde sjabloon in uw sjabloon gebruikt.