Übung: Bereitstellen eines einfachen Azure Logic Apps-Workflows mithilfe einer ARM-Vorlage

Abgeschlossen

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 [Sandbox-Ressourcengruppenname] verwenden.

Herunterladen und Untersuchen einer einfachen Resource Manager-Vorlage

  1. 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
    
  2. 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 Standort westus2, 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 nutzt listCallbackURL, 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.

  1. 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.

  2. 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 Wert Succeeded angezeigt.

Überprüfen der Bereitstellung

  1. 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.

  2. 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:

    Screenshot with Web browser displaying response from our basic logic app workflow.

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.