Übung: Bereitstellen eines einfachen Azure Logic Apps-Workflows mithilfe einer ARM-Vorlage
In dieser Lerneinheit stellen Sie einen Workflow in Azure Logic Apps mithilfe einer Azure Resource Manager-Vorlage bereit.
Erstellen von Ressourcen in Azure
In der Regel erstellen Sie zuerst eine Ressourcengruppe, die alle Elemente enthält, die erstellt werden müssen. Eine Ressourcengruppe ermöglicht Ihnen, alle VMs, Datenträger, Netzwerkschnittstellen und anderen Elemente der Lösung als Einheit zu verwalten.
Sie erstellen eine Ressourcengruppe mit dem Azure CLI-Befehl az group create
. Dieser Befehl akzeptiert einen --name
als eindeutigen Ressourcengruppennamen in Ihrem Abonnement. Außerdem akzeptiert der Befehl eine --location
, die die Standardregion in Azure für die Ressourcen angibt.
Da Sie die kostenlose Azure-Sandboxumgebung verwenden, müssen Sie keine Ressourcengruppe erstellen. Stattdessen können Sie in dieser Übung die zuvor erstellte Ressourcengruppe
Herunterladen und Untersuchen einer einfachen Resource Manager-Vorlage
Wählen Sie oben im Cloud Shell-Fenster das Symbol Mehr (...) aus, wählen Sie Einstellungen> aus, und wählen Sie Zur klassischen Version wechseln aus.
Führen Sie in Cloud Shell den folgenden
curl
-Befehl aus, um die Vorlage von GitHub herunterzuladen:curl https://raw.githubusercontent.com/MicrosoftDocs/mslearn-logic-apps-and-arm-templates/master/basic-template/template.json > basic-template.json
Um die Vorlage anzuzeigen, öffnen Sie sie im integrierten Editor:
code basic-template.json
Die in der Datei template.json beschriebene Logik-App-Workflow-Definition ist in der folgenden Auflistung zu sehen:
{ "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": {}, "variables": {}, "resources": [ { "type": "Microsoft.Logic/workflows", "apiVersion": "2017-07-01", "name": "HelloLogicAppsTemplate", "location": "westus2", "properties": { "state": "Enabled", "definition": { "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#", "contentVersion": "1.0.0.0", "parameters": {}, "triggers": { "manual": { "type": "Request", "kind": "Http", "inputs": { "method": "GET", "schema": {} } } }, "actions": { "Response": { "runAfter": {}, "type": "Response", "kind": "Http", "inputs": { "body": "Hello Logic Apps Template!", "statusCode": 200 } } }, "outputs": {} }, "parameters": {} } } ], "outputs": { "logicAppUrl": { "type": "string", "value": "[listCallbackURL(concat(resourceId('Microsoft.Logic/workflows/', 'HelloLogicAppsTemplate'), '/triggers/manual'), '2017-07-01').value]" } } }
Wie Sie in der obigen JSON-Definition sehen (und wie der Name der Vorlage schon sagt), ist dies ein einfacher Logik-App-Workflow. Sehen Sie sich zunächst die Hauptkomponenten dieser App an.
Im folgenden Codeausschnitt sehen Sie, dass der Name der App
HelloLogicAppsTemplate
lautet. Dieser Name ist in der Vorlage hartcodiert. Der Standortwestus2
, an dem die App ausgeführt wird, ist ebenfalls hartcodiert."name": "HelloLogicAppsTemplate", "location": "westus2",
Wenn Sie nach unten zum Abschnitt triggers scrollen, sehen Sie, dass der Workflow von der HTTP GET-Anforderung ausgelöst wird. Der Trigger heißt
manual
."triggers": { "manual": { "type": "Request", "kind": "Http", "inputs": { "method": "GET", "schema": {} } } },
Weiter unten im Abschnitt Aktionen erfahren Sie, dass dieser Workflow einen Schritt oder eine Aktion enthält. Diese Aktion antwortet auf die Anforderung mit der Nachricht
Hello Azure Logic Apps Template!
."actions": { "Response": { "runAfter": {}, "type": "Response", "kind": "Http", "inputs": { "body": "Hello Logic Apps Template!", "statusCode": 200 } } },
Der Abschnitt outputs der Resource Manager-Vorlage enthält eine einzelne Ausgabe namens
logicAppUrl
. Diese Ausgabevariable gibt die URL der bereitgestellten Logik-App-Ressource an. Diese URL vereinfacht das Testen der App. Die Ausgabe nutztlistCallbackURL
, um die URL zu erstellen, jedoch sind auch hier die Namen des Workflows und des Triggers hartcodiert."outputs": { "logicAppUrl": { "type": "string", "value": "[listCallbackURL(concat(resourceId('Microsoft.Logic/workflows/', 'HelloLogicAppsTemplate'), '/triggers/manual'), '2017-07-01').value]" } }
Als Nächstes stellen Sie diese Logik-App bereit und testen sie.
Überprüfen und Bereitstellen der Vorlage
Da Sie die Logik-App-Ressource in einer Ressourcengruppe bereitstellen, verwenden Sie hierzu den Befehl az deployment group create
. Bei der Bereitstellung mithilfe dieses Befehls können Sie eine Remotevorlage bereitstellen, indem Sie ihren Speicherort mit dem Parameter --template-uri
angeben. In diesem Fall möchten Sie die Vorlage bereitstellen, über die Sie lokal verfügen. Legen Sie also den Parameter --template-file
fest.
Führen Sie in der Cloud Shell
az deployment group validate
aus, um die Vorlage zu validieren:az deployment group validate \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --template-file basic-template.json
Das Argument
--template-file
verweist auf die lokale Vorlage. Der Dateiname der Vorlage lautet basic-template.json.Sie werden einen großen JSON-Block als Ausgabe sehen, an dem Sie erkennen können, dass die Vorlage die Prüfung bestanden hat.
Azure Resource Manager füllt die Vorlagenparameter aus und prüft, ob die Vorlage in Ihrem Abonnement erfolgreich ausgeführt werden kann.
Wenn die Prüfung fehlgeschlagen ist, erhalten Sie in der Ausgabe eine detaillierte Beschreibung des Fehlers.
Führen Sie den folgenden Befehl
az deployment group create
in der Cloud Shell aus, um die von unserer Basisvorlage definierte Logik-App-Ressource in unserer Sandbox-Ressourcengruppe bereitzustellen:az deployment group create \ --name MyDeployment \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --template-file basic-template.json
Dieser Befehl ähnelt dem vorherigen Befehl, enthält aber auch das Argument
--name
, um Ihre Bereitstellung mit einem Namen zu versehen.Die Ausführung dieses Befehls dauert ungefähr zwei bis drei Minuten. Wenn die Bereitstellung abgeschlossen ist, sehen Sie einen weiteren großen JSON-Block als Ausgabe, der die Bereitstellung beschreibt. Im JSON-Ergebnis wird Ihnen
provisioningState
mit dem WertSucceeded
angezeigt.
Überprüfen der Bereitstellung
Führen Sie
az deployment group show
aus, um die Bereitstellung zu überprüfen:az deployment group show \ --name MyDeployment \ --resource-group "<rgn>[sandbox resource group name]</rgn>"
Es wird derselbe JSON-Block angezeigt, den Sie zuvor bereits gesehen haben. Sie können diesen Befehl später ausführen, wenn Sie diese Details über die Bereitstellung benötigen. Die Ausgabe ist als JSON strukturiert, um die Eingabe in andere Tools zu erleichtern, die Sie zur Nachverfolgung Ihrer Bereitstellungen und Cloudnutzung einsetzen können.
Suchen Sie den Wert logicAppUrl im JSON-Ergebnis, um die App zu testen. Wählen Sie die URL aus oder kopieren Sie sie und fügen Sie sie in ein neues Browserfenster ein. Die Seite zeigt die Meldung Hallo Azure Logic Apps-Vorlage! an, wie im folgenden Screenshot zu sehen ist:
Herzlichen Glückwunsch! Sie haben erfolgreich einen Logik-App-Workflow mithilfe einer Azure Resource Manager-Vorlage bereitgestellt.
Wie in dieser Übung erwähnt wurde, enthält diese einfache Vorlage viele hartcodierte Werte. Dadurch ist die Vorlage nicht sehr flexibel. Sie können dies jedoch mithilfe von Parametern verbessern.