Ćwiczenie — wdrażanie podstawowego przepływu pracy usługi Azure Logic Apps przy użyciu szablonu usługi ARM

Ukończone

W tej lekcji wdrożymy przepływ pracy w usłudze Azure Logic Apps przy użyciu szablonu usługi Azure Resource Manager.

Tworzenie zasobów na platformie Azure

Zazwyczaj najpierw utworzymy grupę zasobów, aby przechowywać wszystkie elementy, które należy utworzyć. Grupa zasobów ułatwia administrowanie wszystkimi maszynami wirtualnymi, dyskami, interfejsami sieciowymi i innymi elementami tworzącymi nasze rozwiązanie jako jednostkę.

Możemy utworzyć grupę zasobów za pomocą polecenia interfejsu wiersza polecenia az group createplatformy Azure . To polecenie przyjmuje element , --name aby podać unikatową nazwę grupy zasobów w ramach subskrypcji. Polecenie powoduje --location również podanie domyślnego regionu świadczenia usługi Azure dla zasobów.

Jednak korzystamy z bezpłatnego środowiska piaskownicy platformy Azure, więc nie trzeba tworzyć grupy zasobów. Zamiast tego w tym ćwiczeniu możesz użyć wcześniej utworzonej grupy zasobów [nazwa grupy zasobów piaskownicy].

Pobieranie i przeglądanie podstawowego szablonu usługi Resource Manager

  1. W górnej części okna usługi Cloud Shell wybierz ikonę Więcej (...), a następnie wybierz pozycję Ustawienia>Przejdź do wersji klasycznej.

  2. W usłudze Cloud Shell uruchom następujące curl polecenie, aby pobrać szablon z usługi GitHub:

    curl https://raw.githubusercontent.com/MicrosoftDocs/mslearn-logic-apps-and-arm-templates/master/basic-template/template.json > basic-template.json
    
  3. Aby wyświetlić szablon, otwórz go we wbudowanym edytorze:

    code basic-template.json
    

    Definicja przepływu pracy aplikacji logiki opisana w template.json jest wyświetlana na następującej liście:

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

    Jak widać w poprzedniej definicji JSON, a jak sugeruje nazwa szablonu, ten przepływ pracy aplikacji logiki jest podstawowy. Przyjrzyjmy się głównym składnikom tej aplikacji.

    W poniższym fragmencie kodu widać, że nazwa aplikacji to HelloLogicAppsTemplate. Ta nazwa jest zakodowana w szablonie. Lokalizacja, w której działa aplikacja, jest również zakodowana na stałe w pliku westus2.

    "name": "HelloLogicAppsTemplate",
    "location": "westus2",
    

    Przewijając w dół do sekcji wyzwalaczy, widzimy , że przepływ pracy jest wyzwalany za pomocą żądania HTTP GET. Nazwa wyzwalacza to manual.

    "triggers": {
        "manual": {
            "type": "Request",
            "kind": "Http",
            "inputs": {
                "method": "GET",
                "schema": {}
            }
        }
    },
    

    W dalszej części sekcji akcji dowiesz się, że ten przepływ pracy zawiera jeden krok lub akcję. Ta akcja odpowiada na żądanie za pomocą komunikatu Hello Azure Logic Apps Template!.

    "actions": {
        "Response": {
            "runAfter": {},
            "type": "Response",
            "kind": "Http",
            "inputs": {
                "body": "Hello Logic Apps Template!",
                "statusCode": 200
            }
        }
    },
    

    Sekcja Dane wyjściowe szablonu usługi Resource Manager zawiera pojedyncze dane wyjściowe o nazwie logicAppUrl. Ta zmienna wyjściowa zawiera adres URL wdrożonego zasobu aplikacji logiki. Ten adres URL ułatwia testowanie aplikacji. Dane wyjściowe używają listCallbackURL metody do utworzenia adresu URL, ale nazwa przepływu pracy i nazwa wyzwalacza są tutaj zakodowane na stałe.

    "outputs": {
        "logicAppUrl": {
           "type": "string",
           "value": "[listCallbackURL(concat(resourceId('Microsoft.Logic/workflows/', 'HelloLogicAppsTemplate'), '/triggers/manual'), '2017-07-01').value]"
        }
     }
    

    Teraz wdrożymy tę aplikację logiki i przetestujemy ją.

Weryfikowanie i wdrażanie szablonu

Aby wdrożyć zasób aplikacji logiki, użyjemy az deployment group create polecenia , ponieważ wdrażamy w grupie zasobów. Podczas wdrażania za pomocą tego polecenia można wybrać opcję wdrożenia szablonu zdalnego przez określenie jego lokalizacji za pomocą parametru --template-uri. W tym przypadku chcemy wdrożyć szablon lokalnie, ustawimy więc parametr --template-file.

  1. W usłudze Cloud Shell uruchom polecenie az deployment group validate , aby zweryfikować szablon:

    az deployment group validate \
    --resource-group "<rgn>[sandbox resource group name]</rgn>" \
    --template-file basic-template.json
    

    Argument --template-file wskazuje szablon lokalny. Nazwa pliku szablonu to basic-template.json.

    Jako dane wyjściowe zobaczysz duży blok JSON, który informuje o tym, że szablon przeszedł walidację.

    Usługa Azure Resource Manager wypełnia parametry szablonu i sprawdza, czy szablon można pomyślnie uruchomić w ramach subskrypcji.

    Jeśli walidacja nie powiodła się, zobaczysz szczegółowy opis błędu w danych wyjściowych.

  2. Uruchom następujące az deployment group create polecenie w usłudze Cloud Shell, aby wdrożyć zasób aplikacji logiki zdefiniowany przez nasz podstawowy szablon w naszej grupie zasobów piaskownicy:

    az deployment group create \
    --name MyDeployment \
    --resource-group "<rgn>[sandbox resource group name]</rgn>" \
    --template-file basic-template.json
    

    To polecenie jest podobne do poprzedniego polecenia, ale zawiera też argument --name, który pozwala podać nazwę wdrożenia.

    Wykonanie tego polecenia trwa od 2 do 3 minut. Po zakończeniu wdrażania zobaczysz kolejny duży blok JSON jako dane wyjściowe opisujące wdrożenie. Zobaczysz provisioningState w wyniku JSON z wartością Succeeded.

Weryfikowanie wdrożenia

  1. Uruchom polecenie az deployment group show , aby zweryfikować wdrożenie:

    az deployment group show \
    --name MyDeployment \
    --resource-group "<rgn>[sandbox resource group name]</rgn>" 
    

    Zostanie wyświetlony ten sam blok JSON, który został wcześniej wyświetlony. To polecenie można uruchomić później, jeśli będą potrzebne szczegółowe informacje o wdrożeniu. Dane wyjściowe mają strukturę danych JSON, aby ułatwić przesyłanie ich do innych narzędzi używanych do śledzenia wdrożeń i użycia w chmurze.

  2. Aby zobaczyć, jak działa aplikacja, znajdź wartość logicAppUrl w wyniku JSON. Wybierz adres URL lub skopiuj i wklej go w nowym oknie przeglądarki. Na stronie zostanie wyświetlony komunikat Hello Azure Logic Apps Template!, jak pokazano na poniższym zrzucie ekranu:

    Zrzut ekranu przedstawiający przeglądarkę internetową wyświetlającą odpowiedź z naszego podstawowego przepływu pracy aplikacji logiki.

Gratulacje! Pomyślnie wdrożono przepływ pracy aplikacji logiki przy użyciu szablonu usługi Azure Resource Manager.

Jak wspomniano w tym ćwiczeniu, podstawowy szablon zawiera wiele zakodowanych na stałe wartości. Te wartości sprawiają, że szablon jest mniej elastyczny, niż chcielibyśmy. Możemy poprawić sytuację przy użyciu parametrów.