Tutorial: Hinzufügen von Ausgaben zu Ihrer ARM-Vorlage
In diesem Tutorial wird beschrieben, wie Sie einen Wert aus Ihrer ARM-Vorlage (Azure Resource Manager-Vorlage) zurückgeben. Sie verwenden Ausgaben, wenn Sie einen Wert von einer Ressource benötigen, die Sie bereitstellen. Dieses Tutorial dauert ungefähr 7 Minuten.
Voraussetzungen
Wir empfehlen, das Tutorial zu Variablen durchzuführen. Dies ist jedoch keine Voraussetzung.
Visual Studio Code muss mit der Azure Resource Manager-Tools-Erweiterung installiert und funktionsfähig sein, und Sie benötigen entweder Azure PowerShell oder die Azure-Befehlszeilenschnittstelle (Azure CLI). Weitere Informationen finden Sie unter Vorlagentools.
Überprüfen der Vorlage
Am Ende des vorherigen Tutorials enthielt Ihre Vorlage den folgenden JSON-Code:
{
"$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
}
}
]
}
Der Code stellt ein Speicherkonto bereit, gibt aber keine Informationen zu diesem Konto zurück. Möglicherweise müssen Sie Eigenschaften von einer neuen Ressource erfassen, damit sie später zur Referenz verfügbar sind.
Hinzufügen von Ausgaben
Sie können Ausgaben verwenden, um Werte aus der Vorlage zurückzugeben. Beispielsweise kann es hilfreich sein, die Endpunkte für Ihr neues Speicherkonto abzurufen.
Im folgenden Beispiel ist die Änderung hervorgehoben, die Sie vornehmen, um Ihrer Vorlage einen Ausgabewert hinzuzufügen. Kopieren Sie die gesamte Datei, und ersetzen Sie Ihre Vorlage durch den Inhalt der Datei.
{
"$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]"
}
}
}
Beachten Sie bezüglich des von Ihnen hinzugefügten Ausgabewerts folgende wichtige Punkte.
Der Typ des Rückgabewerts ist auf object
festgelegt, d. h. es wird ein JSON-Objekt zurückgegeben.
Der Laufzeitstatus des Speicherkontos wird mithilfe der Funktion reference abgerufen. Um den Laufzeitstatus einer Ressource abzurufen, übergeben Sie den Namen oder die ID der Ressource. In diesem Fall verwenden Sie die Variable, die Sie zum Erstellen des Speicherkontonamens verwendet haben.
Am Ende wird die Eigenschaft primaryEndpoints
des Speicherkontos zurückgegeben.
Bereitstellen der Vorlage
Jetzt können Sie die Vorlage bereitstellen und sich den zurückgegebenen Wert ansehen.
Falls Sie die Ressourcengruppe noch nicht erstellt haben, folgen Sie den Anweisungen unter Erstellen einer Ressourcengruppe. Dieses Beispiel setzt voraus, dass Sie die Variable templateFile
wie im ersten Tutorial beschrieben auf den Pfad zur Vorlagendatei festgelegt haben.
New-AzResourceGroupDeployment `
-Name addoutputs `
-ResourceGroupName myResourceGroup `
-TemplateFile $templateFile `
-storagePrefix "store" `
-storageSKU Standard_LRS
Die Ausgabe für den Bereitstellungsbefehl enthält ein ähnliches Objekt wie im folgenden Beispiel (allerdings nur, wenn die Ausgabe im JSON-Format vorliegt):
{
"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/"
}
Hinweis
Wenn bei der Bereitstellung ein Fehler auftritt, verwenden Sie den Schalter verbose
, um Informationen zu den erstellten Ressourcen abzurufen. Verwenden Sie den Schalter debug
, um weitere Informationen zum Debuggen zu erhalten.
Überprüfen Ihrer Arbeit
In den letzten sechs Tutorials haben Sie viele Aufgaben erledigt. Nehmen wir uns einen Moment Zeit, um uns Ihre Arbeit anzusehen. Sie haben eine Vorlage mit Parametern erstellt, die einfach angegeben werden können. Die Vorlage kann in unterschiedlichen Umgebungen wiederverwendet werden, da sie Anpassungen ermöglicht und erforderliche Werte dynamisch erstellt. Außerdem gibt sie Informationen zum Speicherkonto zurück, die Sie in Ihrem Skript verwenden können.
Sehen wir uns nun die Ressourcengruppe und den Bereitstellungsverlauf an.
Melden Sie sich beim Azure-Portal an.
Wählen Sie im linken Menü Ressourcengruppen aus.
Wählen Sie die Ressourcengruppe aus, in der Sie die Vorlage bereitgestellt haben.
Je nachdem, welche Schritte Sie ausgeführt haben, sollten Sie mindestens ein oder vielleicht mehrere Speicherkonten in der Ressourcengruppe haben.
Zudem sollten im Verlauf mehrere erfolgreiche Bereitstellungen angezeigt werden. Klicken Sie auf diesen Link.
Im Verlauf werden all Ihre Bereitstellungen angezeigt. Wählen Sie die Bereitstellung addoutputs aus.
Sie können die Eingaben überprüfen.
Sie können die Ausgaben überprüfen.
Sie können die Vorlage überprüfen.
Bereinigen von Ressourcen
Wenn Sie mit dem nächsten Tutorial fortfahren, müssen Sie die Ressourcengruppe nicht löschen.
Wenn Sie jetzt aufhören, sollten Sie die Ressourcengruppe löschen.
- Wählen Sie im Azure-Portal im linken Menü die Option Ressourcengruppen aus.
- Geben Sie den Ressourcengruppennamen im Textfeld Nach einem beliebigen Feld filtern ein.
- Aktivieren Sie das Kontrollkästchen neben myResourceGroup, und wählen Sie myResourceGroup oder Ihren Ressourcengruppennamen aus.
- Wählen Sie Ressourcengruppe löschen aus dem Menü ganz oben aus.
Nächste Schritte
In diesem Tutorial haben Sie der Vorlage einen Rückgabewert hinzugefügt. Im nächsten Tutorial erfahren Sie, wie Sie eine Vorlage exportieren und Teile dieser exportierten Vorlage in Ihrer Vorlage verwenden.