Cvičení – nasazení základního pracovního postupu Azure Logic Apps pomocí šablony ARM

Dokončeno

V této lekci nasadíme pracovní postup v Azure Logic Apps pomocí šablony Azure Resource Manageru.

Vytvoření prostředků v Azure

Obvykle bychom nejprve vytvořili skupinu prostředků, která bude obsahovat všechny položky, které potřebujeme vytvořit. Skupina prostředků nám pomáhá spravovat všechny virtuální počítače, disky, síťová rozhraní a další prvky, které tvoří naše řešení jako jednotku.

Skupinu prostředků můžeme vytvořit pomocí příkazu az group createAzure CLI . Tento příkaz převezme --name jedinečný název skupiny prostředků v našem předplatném. Příkaz také převezme --location výchozí oblast Azure pro prostředky.

Používáme ale bezplatné sandboxové prostředí Azure, takže nemusíte vytvářet skupinu prostředků. Místo toho můžete v tomto cvičení použít dříve vytvořenou skupinu prostředků [název skupiny prostředků sandboxu].

Stažení a prozkoumání základní šablony Resource Manageru

  1. Spuštěním následujícího curl příkazu z Cloud Shellu stáhněte šablonu z GitHubu:

    curl https://raw.githubusercontent.com/MicrosoftDocs/mslearn-logic-apps-and-arm-templates/master/basic-template/template.json > basic-template.json
    
  2. Pokud chcete šablonu zobrazit, otevřete ji v integrovaném editoru:

    code basic-template.json
    

    Definice pracovního postupu aplikace logiky popsaná v template.json je uvedena v následujícím výpisu:

    {
        "$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 vidíte z předchozí definice JSON a jak název šablony naznačuje, tento pracovní postup aplikace logiky je základní. Podívejme se na hlavní součásti této aplikace.

    V následujícím fragmentu kódu vidíme, že tato aplikace má název HelloLogicAppsTemplate. Tento název je pevně zakódovaný v šabloně. Umístění, ve kterém aplikace běží, je také pevně zakódováno westus2.

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

    Posouváním dolů k části triggerů vidíme, že se pracovní postup aktivuje pomocí požadavku HTTP GET. Trigger má název manual.

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

    Dále v části akcí se dozvíme, že tento pracovní postup obsahuje jeden krok nebo akci. Tato akce odpoví na žádost zprávou Hello Azure Logic Apps Template!.

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

    Oddíl výstupů šablony Resource Manageru má jeden výstup s názvem logicAppUrl. Tato výstupní proměnná obsahuje adresu URL nasazeného prostředku aplikace logiky. Tato adresa URL usnadňuje testování aplikace. Výstup používá listCallbackURL k vytvoření adresy URL, ale název pracovního postupu a název triggeru jsou tady pevně zakódované.

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

    Teď tuto aplikaci logiky nasadíme a otestujeme ji.

Ověření a nasazení šablony

K nasazení prostředku aplikace logiky použijeme az deployment group create příkaz, protože nasazujeme do skupiny prostředků. Při použití tohoto příkazu můžete zvolit nasazení vzdálené šablony tak, že zadáte její umístění pomocí parametru --template-uri. V našem případě chceme nasadit šablonu, kterou máme k dispozici místně, a proto nastavíme parametr --template-file.

  1. V Cloud Shellu spusťte az deployment group validate příkaz k ověření šablony:

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

    Argument --template-file odkazuje na místní šablonu. Název souboru šablony je basic-template.json.

    Jako výstup se zobrazí velký blok JSON, který vám řekne, že šablona prošla ověřením.

    Azure Resource Manager vyplní parametry šablony a zkontroluje, jestli by se šablona úspěšně spustila ve vašem předplatném.

    Pokud se ověření nezdařilo, zobrazí se ve výstupu podrobný popis selhání.

  2. Spuštěním následujícího az deployment group create příkazu v Cloud Shellu nasaďte prostředek aplikace logiky definovaný naší základní šablonou do naší skupiny prostředků sandboxu:

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

    Tento příkaz připomíná předchozí příkaz, ale obsahuje navíc argument --name, který vašemu nasazení přiřadí název.

    Dokončení tohoto příkazu trvá 2 až 3 minuty. Po dokončení nasazení uvidíte další velký blok JSON jako výstup, který popisuje nasazení. Ve výsledku JSON se zobrazí provisioningState hodnota Succeeded.

Ověření nasazení

  1. Spuštěním az deployment group show ověřte nasazení:

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

    Zobrazí se stejný blok JSON, který jste viděli dříve. Pokud někdy budete potřebovat podrobnosti o nasazení, můžete tento příkaz spustit později. Výstup je strukturovaný jako JSON, aby bylo snazší ho předat do jiného nástroje, který můžete používat ke sledování nasazení a využití cloudu.

  2. Pokud chcete vidět aplikaci v akci, vyhledejte ve výsledku JSON hodnotu logicAppUrl. Vyberte adresu URL nebo ji zkopírujte a vložte ji do nového okna prohlížeče. Na stránce se zobrazí zpráva Hello Azure Logic Apps Template! , jak je znázorněno na následujícím snímku obrazovky:

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

Blahopřejeme! Úspěšně jste nasadili pracovní postup aplikace logiky pomocí šablony Azure Resource Manageru.

Jak jsme si poznamenali v tomto cvičení, základní šablona má mnoho pevně zakódovaných hodnot. Díky těmto hodnotám je šablona méně flexibilní, než bychom chtěli. Situaci můžeme zlepšit pomocí parametrů.