Ćwiczenie — wdrażanie podstawowego przepływu pracy usługi Azure Logic Apps przy użyciu szablonu usługi ARM
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 create
platformy 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
Pobieranie i przeglądanie podstawowego szablonu usługi Resource Manager
W górnej części okna usługi Cloud Shell wybierz ikonę Więcej (...), a następnie wybierz pozycję Ustawienia>Przejdź do wersji klasycznej.
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
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 plikuwestus2
."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
.
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.
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
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.
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:
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.