Přehled: Automatizace nasazení pro Azure Logic Apps pomocí šablon Azure Resource Manager

Platí pro: Azure Logic Apps (Consumption)

Až budete připraveni automatizovat vytváření a nasazování aplikace logiky, můžete rozšířit základní definici pracovního postupu aplikace logiky do šablony Azure Resource Manager. Tato šablona definuje infrastrukturu, prostředky, parametry a další informace pro zřizování a nasazování aplikace logiky. Definováním parametrů pro hodnoty, které se liší při nasazení, označované také jako parametrizace, můžete opakovaně a konzistentně nasazovat aplikace logiky na základě různých potřeb nasazení.

Pokud například nasadíte do prostředí pro vývoj, testování a produkci, pravděpodobně pro každé prostředí použijete různé připojovací řetězce. Můžete deklarovat parametry šablony, které přijímají různé připojovací řetězce, a pak tyto řetězce uložit do samostatného souboru parametrů. Tímto způsobem můžete tyto hodnoty změnit, aniž byste museli šablonu aktualizovat a znovu nasadit. Ve scénářích, ve kterých máte citlivé hodnoty parametrů nebo které je potřeba zabezpečit, jako jsou hesla a tajné kódy, můžete tyto hodnoty uložit v Azure Key Vault a soubor parametrů tyto hodnoty načíst. V těchto scénářích byste ale znovu nasadí aktuální hodnoty.

Tento přehled popisuje atributy v šabloně Resource Manager, která obsahuje definici pracovního postupu aplikace logiky. Šablona i definice pracovního postupu používají syntaxi JSON, ale existují některé rozdíly, protože definice pracovního postupu se řídí také schématem jazyka definice pracovního postupu. Například výrazy šablony a výrazy definice pracovního postupu se liší v tom, jak odkazují na parametry a hodnoty, které mohou přijmout.

Tip

Nejjednodušší způsob, jak získat platnou parametrizovanou šablonu aplikace logiky, která je většinou připravená k nasazení, použijte Sadu Visual Studio (bezplatnou edici Community nebo vyšší) a nástroje Azure Logic Apps pro Visual Studio. Pak můžete buď vytvořit aplikaci logiky v sadě Visual Studio , nebo vyhledat a stáhnout existující aplikaci logiky z Azure do sady Visual Studio.

Nebo můžete vytvářet šablony aplikací logiky pomocí Azure PowerShell s modulem LogicAppTemplate.

Ukázková aplikace logiky v tomto tématu používá trigger Office 365 Outlooku, který se aktivuje při příchodu nového e-mailu a akci Azure Blob Storage, která vytvoří objekt blob pro tělo e-mailu a nahraje tento objekt blob do kontejneru úložiště Azure. Příklady také ukazují, jak parametrizovat hodnoty, které se při nasazení liší.

Další informace o šablonách Resource Manager najdete v těchto tématech:

Informace o prostředcích šablon specifické pro aplikace logiky, účty integrace, artefakty účtu integrace a prostředí integrační služby najdete v tématu Typy prostředků Microsoft.Logic.

Ukázkové šablony aplikací logiky najdete v těchto příkladech:

V případě rozhraní REST API pro Logic Apps začněte přehledem rozhraní REST API služby Azure Logic Apps.

Struktura šablon

Na nejvyšší úrovni se šablona Resource Manager řídí touto strukturou, která je plně popsaná v tématu struktura šablon Azure Resource Manager a syntaxe:

{
   "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
   "contentVersion": "1.0.0.0",
   "parameters": {},
   "variables": {},
   "functions": [],
   "resources": [],
   "outputs": {}
}

U šablony aplikace logiky primárně pracujete s těmito objekty šablony:

Atribut Popis
parameters Deklaruje parametry šablony pro přijetí hodnot, které se mají použít při vytváření a přizpůsobení prostředků pro nasazení v Azure. Tyto parametry například přijímají hodnoty pro název a umístění aplikace logiky, připojení a další prostředky potřebné k nasazení. Tyto hodnoty parametrů můžete uložit do souboru parametrů, který je popsán dále v tomto tématu. Obecné podrobnosti najdete v tématu Parametry – Resource Manager struktury a syntaxe šablony.
resources Definuje prostředky , které se mají vytvořit nebo aktualizovat a nasadit do skupiny prostředků Azure, jako je aplikace logiky, připojení, účty úložiště Azure atd. Obecné podrobnosti najdete v tématu Prostředky – Resource Manager struktura a syntaxe šablony.

Šablona aplikace logiky používá tento formát názvu souboru:

<název >aplikace logiky. Json

Důležité

Syntaxe šablony rozlišuje malá a velká písmena, proto se ujistěte, že používáte konzistentní velikost písmen.

Parametry šablony

Šablona aplikace logiky obsahuje více parameters objektů, které existují na různých úrovních a provádějí různé funkce. Například na nejvyšší úrovni můžete deklarovat parametry šablony pro hodnoty, které se mají přijmout a použít při nasazení při vytváření a nasazování prostředků v Azure, například:

  • Vaše aplikace logiky

  • Připojení, která vaše aplikace logiky používá pro přístup k jiným službám a systémům prostřednictvím spravovaných konektorů

  • Další prostředky, které vaše aplikace logiky potřebuje k nasazení

    Pokud například vaše aplikace logiky používá účet integrace pro scénáře B2B (Business-to-Business), objekt nejvyšší úrovně parameters šablony deklaruje parametr, který přijímá ID prostředku pro tento účet integrace.

Tady je obecná struktura a syntaxe definice parametru, která je plně popsána parametry – Resource Manager strukturu a syntaxi šablony:

"<parameter-name>": {
   "type": "<parameter-type>",
   "defaultValue": <default-parameter-value>,
   <other-parameter-attributes>,
   "metadata": {
      "description": "<parameter-description>"
   }
},

Tento příklad ukazuje pouze parametry šablony pro hodnoty použité k vytvoření a nasazení těchto prostředků v Azure:

  • Název a umístění aplikace logiky
  • ID, které se má použít pro účet integrace, který je propojený s aplikací logiky
{
   "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
   "contentVersion": "1.0.0.0",
   // Template parameters
   "parameters": {
      "LogicAppName": {
         "type": "string",
         "minLength": 1,
         "maxLength": 80,
         "defaultValue": "MyLogicApp",
         "metadata": {
            "description": "The resource name for the logic app"
         }
      },
      "LogicAppLocation": {
         "type": "string",
         "minLength": 1,
         "defaultValue": "[resourceGroup().location]",
         "metadata": {
            "description": "The resource location for the logic app"
         }
      },
      "LogicAppIntegrationAccount": {
         "type":"string",
         "minLength": 1,
         "defaultValue": "/subscriptions/<Azure-subscription-ID>/resourceGroups/fabrikam-integration-account-rg/providers/Microsoft.Logic/integrationAccounts/fabrikam-integration-account",
         "metadata": {
            "description": "The ID to use for the integration account"
         }
      }
   },
   "variables": {},
   "functions": [],
   "resources": [],
   "outputs": {}
}

Kromě parametrů, které zpracovávají hodnoty citlivé nebo musí být zabezpečené, jako jsou uživatelská jména, hesla a tajné kódy, všechny tyto parametry zahrnují defaultValue atributy, i když v některých případech jsou výchozí hodnoty prázdné hodnoty. Hodnoty nasazení, které se mají použít pro tyto parametry šablony, poskytují ukázkový soubor parametrů popsaný dále v tomto tématu.

Další informace o zabezpečení parametrů šablony najdete v těchto tématech:

Jiné objekty šablony často odkazují na parametry šablony, aby mohly používat hodnoty předávané parametry šablony, například:

  • Objekt prostředků šablony popsaný dále v tomto tématu definuje každý prostředek v Azure, který chcete vytvořit a nasadit, například definici prostředku aplikace logiky. Tyto prostředky často používají hodnoty parametrů šablony, například název a umístění aplikace logiky a informace o připojení.

  • Na hlubší úrovni definice prostředku aplikace logiky objekt parametrů definice pracovního postupu deklaruje parametry pro hodnoty, které se mají použít za běhu aplikace logiky. Můžete například deklarovat parametry definice pracovního postupu pro uživatelské jméno a heslo, které trigger HTTP používá k ověřování. Pokud chcete zadat hodnoty parametrů definice pracovního postupu, použijte parameters objekt, který je mimo definici pracovního postupu, ale stále uvnitř definice prostředku aplikace logiky. V tomto vnějším parameters objektu můžete odkazovat na dříve deklarované parametry šablony, které můžou přijímat hodnoty při nasazení ze souboru parametrů.

Při odkazování na parametry používají výrazy šablony a funkce jinou syntaxi a chovají se jinak než výrazy a funkce definice pracovního postupu. Další informace o těchto rozdílech najdete v části Odkazy na parametry dále v tomto tématu.

Osvědčené postupy – parametry šablony

Tady je několik osvědčených postupů pro definování parametrů:

  • Deklarujte parametry pouze pro hodnoty, které se liší v závislosti na vašich potřebách nasazení. Nedeklarujte parametry pro hodnoty, které zůstávají stejné napříč různými požadavky na nasazení.

  • defaultValue Zahrňte atribut, který může zadat prázdné hodnoty pro všechny parametry s výjimkou hodnot, které jsou citlivé nebo musí být zabezpečené. Vždy používejte zabezpečené parametry pro uživatelská jména, hesla a tajné kódy. Pokud chcete skrýt nebo chránit citlivé hodnoty parametrů, postupujte podle pokynů v těchto tématech:

  • Pokud chcete odlišit názvy parametrů šablony od názvů parametrů definice pracovního postupu, můžete použít popisné názvy parametrů šablony, například: TemplateFabrikamPassword

Další osvědčené postupy šablon najdete v tématu Osvědčené postupy pro parametry šablony.

Soubor parametrů šablony

Pokud chcete zadat hodnoty parametrů šablony, uložte je do souboru parametrů. Tímto způsobem můžete v závislosti na potřebách nasazení použít různé soubory parametrů. Tady je formát názvu souboru, který se má použít:

  • Název souboru šablony aplikace logiky: <logic-app-name.json>
  • Název souboru parametrů: <logic-app-name.parameters.json>

Tady je struktura v souboru parametrů, která obsahuje odkaz trezoru klíčů pro předání hodnoty zabezpečeného parametru pomocí Azure Key Vault:

{
   "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
   "contentVersion": "1.0.0.0",
   // Template parameter values
   "parameters": {
      "<parameter-name-1>": {
         "value": "<parameter-value>"
      },
      "<parameter-name-2>": {
         "value": "<parameter-value>"
      },
      "<secured-parameter-name>": {
         "reference": {
            "keyVault": {
               "id": "/subscriptions/<Azure-subscription-ID>/resourceGroups/<Azure-resource-group-name>/Microsoft.KeyVault/vaults/<key-vault-name>"
            },
            "secretName: "<secret-name>"
         }
      },
      <other-parameter-values>
   }
}

Tento ukázkový soubor parametrů určuje hodnoty parametrů šablony deklarované dříve v tomto tématu:

{
   "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
   "contentVersion": "1.0.0.0",
   // Template parameter values
   "parameters": {
      "LogicAppName": {
         "value": "Email-Processor-Logic-App"
      },
      "LogicAppLocation": {
         "value": "westeurope"
      }
   }
}

Prostředky šablon

Šablona obsahuje resources objekt, což je pole, které obsahuje definice pro každý prostředek k vytvoření a nasazení v Azure, jako je definice prostředku aplikace logiky, definice prostředků připojení a všechny další prostředky, které vaše aplikace logiky potřebuje k nasazení.

{
   "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
   "contentVersion": "1.0.0.0",
   "parameters": {<template-parameters>},
   "variables": {},
   "functions": [],
   "resources": [
      {
         <logic-app-resource-definition>
      },
      // Start connection resource definitions
      {
         <connection-resource-definition-1>
      },
      {
         <connection-resource-definition-2>
      }
   ],
   "outputs": {}
}

Poznámka

Šablony můžou zahrnovat definice prostředků pro více aplikací logiky, proto se ujistěte, že všechny prostředky aplikace logiky určují stejnou skupinu prostředků Azure. Když šablonu nasadíte do skupiny prostředků Azure pomocí sady Visual Studio, zobrazí se výzva k zadání aplikace logiky, kterou chcete otevřít. Projekt skupiny prostředků Azure může také obsahovat více než jednu šablonu, takže po zobrazení výzvy vyberte správný soubor parametrů.

Zobrazení definic prostředků

Pokud chcete zkontrolovat definice prostředků pro všechny prostředky ve skupině prostředků Azure, stáhněte si aplikaci logiky z Azure do sady Visual Studio, což je nejjednodušší způsob, jak vytvořit platnou parametrizovanou šablonu aplikace logiky, která je většinou připravená k nasazení.

Obecné informace o prostředcích šablon a jejich atributech najdete v těchto tématech:

Definice prostředku aplikace logiky

Definice prostředku pracovního postupu aplikace logiky v šabloně začíná objektemproperties, který obsahuje tyto informace:

  • Stav aplikace logiky při nasazení
  • ID libovolného účtu integrace používaného vaší aplikací logiky
  • Definice pracovního postupu aplikace logiky
  • Objekt parameters , který nastaví hodnoty pro použití za běhu
  • Další informace o prostředcích o vaší aplikaci logiky, jako je název, typ, umístění, nastavení konfigurace modulu runtime atd.
{
   "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
   "contentVersion": "1.0.0.0",
   "parameters": {<template-parameters>},
   "variables": {},
   "functions": [],
   "resources": [
      {
         // Start logic app resource definition
         "properties": {
            "state": "<Enabled or Disabled>",
            "integrationAccount": {
               "id": "[parameters('LogicAppIntegrationAccount')]" // Template parameter reference
            },
            "definition": {<workflow-definition>},
            "parameters": {<workflow-definition-parameter-values>},
            "accessControl": {},
            "runtimeConfiguration": {}
         },
         "name": "[parameters('LogicAppName')]", // Template parameter reference
         "type": "Microsoft.Logic/workflows",
         "location": "[parameters('LogicAppLocation')]", // Template parameter reference
         "tags": {
           "displayName": "LogicApp"
         },
         "apiVersion": "2019-05-01",
         "dependsOn": [
         ]
      }
      // End logic app resource definition
   ],
   "outputs": {}
}

Tady jsou atributy specifické pro definici prostředku aplikace logiky:

Atribut Požaduje se Typ Popis
state Ano Řetězec Stav aplikace logiky při nasazení, kde Enabled znamená, že vaše aplikace logiky je živá a Disabled znamená, že vaše aplikace logiky je neaktivní. Pokud například nejste připravení, aby vaše aplikace logiky byla aktivní, ale chcete nasadit koncept verze, můžete tuto Disabled možnost použít.
integrationAccount No Objekt Pokud vaše aplikace logiky používá účet integrace, který ukládá artefakty pro scénáře B2B (business-to-business), tento objekt obsahuje id atribut, který určuje ID pro účet integrace.
definition Yes Objekt Základní definice pracovního postupu vaší aplikace logiky, což je stejný objekt, který se zobrazuje v zobrazení kódu a je plně popsaný v referenční dokumentaci schématu pro téma Jazyk definice pracovního postupu . V této definici pracovního postupu objekt deklaruje parametry pro hodnoty, parameters které se mají použít za běhu aplikace logiky. Další informace najdete v tématu Definice a parametry pracovního postupu.

Pokud chcete zobrazit atributy v definici pracovního postupu aplikace logiky, přepněte z návrhového zobrazení na zobrazení kódu v Azure Portal nebo sadě Visual Studio nebo pomocí nástroje, jako je Azure Resource Explorer.

parameters No Objekt Hodnoty parametrů definice pracovního postupu, které se mají použít za běhu aplikace logiky. Definice parametrů pro tyto hodnoty se zobrazí uvnitř objektu parametrů definice pracovního postupu. Pokud vaše aplikace logiky používá spravované konektory pro přístup k jiným službám a systémům, tento objekt obsahuje $connections objekt, který nastaví hodnoty připojení tak, aby se používaly za běhu.
accessControl No Objekt Pro určení atributů zabezpečení pro vaši aplikaci logiky, jako je omezení přístupu IP k triggerům požadavků nebo vstupy a výstupy historie spuštění. Další informace najdete v tématu Zabezpečení přístupu k aplikacím logiky.
runtimeConfiguration No Objekt Pro určení všech operationOptions vlastností, které řídí způsob, jakým se vaše aplikace logiky chová za běhu. Aplikaci logiky můžete například spustit v režimu vysoké propustnosti.

Další informace o definicích prostředků pro tyto objekty Logic Apps najdete v tématu Typy prostředků Microsoft.Logic:

Definice a parametry pracovního postupu

Definice pracovního postupu aplikace logiky se zobrazí v objektu, který se zobrazí v objektu definitionproperties uvnitř definice prostředku aplikace logiky. Tento definition objekt je stejný objekt, který se zobrazí v zobrazení kódu a je plně popsán v referenčním tématu Schéma pro jazyk definice pracovního postupu . Definice pracovního postupu obsahuje vnitřní parameters objekt deklarace, kde můžete definovat nové nebo upravit existující parametry pro hodnoty používané definicí pracovního postupu za běhu. Tyto parametry pak můžete odkazovat uvnitř triggeru nebo akcí v pracovním postupu. Ve výchozím nastavení je tento parameters objekt prázdný, pokud vaše aplikace logiky nevytvoří připojení k jiným službám a systémům prostřednictvím spravovaných konektorů.

Pokud chcete nastavit hodnoty parametrů definice pracovního postupu, použijte parameters objekt, který je mimo definici pracovního postupu, ale stále uvnitř definice prostředku aplikace logiky. V tomto vnějším parameters objektu pak můžete odkazovat na dříve deklarované parametry šablony, které můžou přijímat hodnoty při nasazení ze souboru parametrů.

Tip

Osvědčeným postupem není přímo odkazovat na parametry šablony, které se vyhodnocují při nasazení, z definice pracovního postupu. Místo toho deklarujte parametr definice pracovního postupu, který pak můžete nastavit v objektu parameters , který je mimo definici pracovního postupu, ale stále uvnitř definice prostředku aplikace logiky. Další informace najdete v tématu Odkazy na parametry.

Tato syntaxe ukazuje, kde můžete deklarovat parametry na úrovni šablony i definice pracovního postupu spolu s tím, kde můžete tyto hodnoty parametrů nastavit odkazem na parametry šablony a definice pracovního postupu:

{
   "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
   "contentVersion": "1.0.0.0",
   // Template parameters
   "parameters": {
      "<template-parameter-name>": {
         "type": "<parameter-type>",
         "defaultValue": "<parameter-default-value>",
         "metadata": {
            "description": "<parameter-description>"
         }
      }
   },
   "variables": {},
   "functions": [],
   "resources": [
      {
         // Start logic app resource definition
         "properties": {
            <other-logic-app-resource-properties>,
            "definition": {
               "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
               "actions": {<action-definitions>},
               // Workflow definition parameters
               "parameters": {
                  "<workflow-definition-parameter-name>": {
                     "type": "<parameter-type>",
                     "defaultValue": "<parameter-default-value>",
                     "metadata": {
                        "description": "<parameter-description>"
                     }
                  }
               },
               "triggers": {
                  "<trigger-name>": {
                     "type": "<trigger-type>",
                     "inputs": {
                         // Workflow definition parameter reference
                         "<attribute-name>": "@parameters('<workflow-definition-parameter-name')"
                     }
                  }
               },
               <...>
            },
            // Workflow definition parameter value
            "parameters": {
               "<workflow-definition-parameter-name>": { 
                  "value": "[parameters('<template-parameter-name>')]"
               }
            },
            "accessControl": {}
         },
         <other-logic-app-resource-definition-attributes>
      }
      // End logic app resource definition
   ],
   "outputs": {}
}

Zabezpečené parametry definice pracovního postupu

Pro parametr definice pracovního postupu, který zpracovává citlivé informace, hesla, přístupové klíče nebo tajné kódy za běhu, deklaruje nebo upravuje parametr tak, aby používal typ nebo typ parametru securestringsecureobject . Tento parametr můžete odkazovat v celé definici pracovního postupu a v rámci této definice. Na nejvyšší úrovni šablony deklarujte parametr, který má stejný typ pro zpracování těchto informací při nasazení.

Pokud chcete nastavit hodnotu parametru definice pracovního postupu, použijte parameters objekt, který je mimo definici pracovního postupu, ale stále uvnitř definice prostředku aplikace logiky, aby odkaz na parametr šablony. Nakonec pokud chcete předat hodnotu parametru šablony při nasazení, uložte ji v Azure Key Vault a odkazujte na tento trezor klíčů v souboru parametrů, který vaše šablona používá při nasazení.

Tato ukázková šablona ukazuje, jak můžete tyto úlohy dokončit definováním zabezpečených parametrů v případě potřeby, abyste mohli ukládat jejich hodnoty v Azure Key Vault:

  • Deklarujte zabezpečené parametry pro hodnoty použité k ověření přístupu.
  • Tyto hodnoty použijte na úrovni šablony i definice pracovního postupu.
  • Zadejte tyto hodnoty pomocí souboru parametrů.

Šablona

{
   "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
   "contentVersion": "1.0.0.0",
   "parameters": {
      <previously-defined-template-parameters>,
      // Additional template parameters for passing values to use in workflow definition
      "TemplateAuthenticationType": {
         "type": "string",
         "defaultValue": "",
         "metadata": {
            "description": "The type of authentication used for the Fabrikam portal"
         }
      },
      "TemplateFabrikamPassword": {
         "type": "securestring",
         "metadata": {
            "description": "The password for the Fabrikam portal"
         }
      },
      "TemplateFabrikamUserName": {
         "type": "securestring",
         "metadata": {
            "description": "The username for the Fabrikam portal"
         }
      }
   },
   "variables": {},
   "functions": [],
   "resources": [
      {
         // Start logic app resource definition
         "properties": {
            <other-logic-app-resource-properties>,
            // Start workflow definition
            "definition": {
               "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
               "actions": {<action-definitions>},
               // Workflow definition parameters
               "parameters": {
                  "authenticationType": {
                     "type": "string",
                     "defaultValue": "",
                     "metadata": {
                        "description": "The type of authentication used for the Fabrikam portal"
                     }
                  },
                  "fabrikamPassword": {
                     "type": "securestring",
                     "metadata": {
                        "description": "The password for the Fabrikam portal"
                     }
                  },
                  "fabrikamUserName": {
                     "type": "securestring",
                     "metadata": {
                        "description": "The username for the Fabrikam portal"
                     }
                  }
               },
               "triggers": {
                  "HTTP": {
                     "inputs": {
                        "authentication": {
                           // Reference workflow definition parameters
                           "password": "@parameters('fabrikamPassword')",
                           "type": "@parameters('authenticationType')",
                           "username": "@parameters('fabrikamUserName')"
                        }
                     },
                     "recurrence": {<...>},
                     "type": "Http"
                  }
               },
               <...>
            },
            // End workflow definition
            // Start workflow definition parameter values
            "parameters": {
               "authenticationType": {
                  "value": "[parameters('TemplateAuthenticationType')]" // Template parameter reference
               },
               "fabrikamPassword": {                  
                  "value": "[parameters('TemplateFabrikamPassword')]" // Template parameter reference
               },
               "fabrikamUserName": {
                  "value": "[parameters('TemplateFabrikamUserName')]" // Template parameter reference
               }
            },
            "accessControl": {}
         },
         <other-logic-app-resource-attributes>
      }
      // End logic app resource definition
   ],
   "outputs": {}
}

Soubor parametrů

{
   "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
   "contentVersion": "1.0.0.0",
   // Template parameter values
   "parameters": {
      <previously-defined-template-parameter-values>,
     "TemplateAuthenticationType": {
        "value": "Basic"
     },
     "TemplateFabrikamPassword": {
        "reference": {
           "keyVault": {
              "id": "/subscriptions/<Azure-subscription-ID>/resourceGroups/<Azure-resource-group-name>/Microsoft.KeyVault/vaults/fabrikam-key-vault"
           },
           "secretName": "FabrikamPassword"
        }
     },
     "TemplateFabrikamUserName": {
        "reference": {
           "keyVault": {
              "id": "/subscriptions/<Azure-subscription-ID>/resourceGroups/<Azure-resource-group-name>/Microsoft.KeyVault/vaults/fabrikam-key-vault"
           },
           "secretName": "FabrikamUserName"
        }
     }
   }
}

Osvědčené postupy – parametry definice pracovního postupu

Pokud chcete zajistit, aby Návrhář aplikace logiky správně zobrazoval parametry definice pracovního postupu, postupujte podle těchto osvědčených postupů:

Další informace oparametrch

Definice prostředků připojení

Když vaše aplikace logiky vytvoří a používá připojení k jiným službám a systémům pomocí spravovaných konektorů, objekt šablonyresources obsahuje definice prostředků pro tato připojení. I když vytváříte připojení z aplikace logiky, připojení jsou samostatné prostředky Azure s jejich vlastními definicemi prostředků. Pokud chcete zkontrolovat tyto definice prostředků připojení, stáhněte si aplikaci logiky z Azure do sady Visual Studio, což je nejjednodušší způsob, jak vytvořit platnou parametrizovanou šablonu aplikace logiky, která je většinou připravená k nasazení.

{
   "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
   "contentVersion": "1.0.0.0",
   "parameters": {<template-parameters>},
   "variables": {},
   "functions": [],
   "resources": [
      {
         <logic-app-resource-definition>
      },
      // Start connection resource definitions
      {
         <connection-resource-definition-1>
      },
      {
         <connection-resource-definition-2>
      }
   ],
   "outputs": {}
}

Definice prostředků připojení odkazují na parametry nejvyšší úrovně šablony pro jejich hodnoty, abyste je mohli zadat při nasazení pomocí souboru parametrů. Ujistěte se, že připojení používají stejnou skupinu prostředků Azure a umístění jako aplikaci logiky.

Tady je příklad definice prostředku pro připojení Office 365 Outlooku a odpovídající parametry šablony:

{
   "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
   "contentVersion": "1.0.0.0",
   // Template parameters
   "parameters": {
      "LogicAppName": {<parameter-definition>},
      "LogicAppLocation": {<parameter-definition>},
      "office365_1_Connection_Name": {
         "type": "string",
         "defaultValue": "office365",
         "metadata": {
            "description": "The resource name for the Office 365 Outlook connection"
         }
      },
      "office365_1_Connection_DisplayName": {
         "type": "string",
         "defaultValue": "",
         "metadata": {
            "description": "The display name for the Office 365 Outlook connection"
         }
      }
   },
   "variables": {},
   "functions": [],
   "resources": [
      {
         <logic-app-resource-definition>
      },
      // Office 365 Outlook API connection resource definition
      {
         "type": "Microsoft.Web/connections",
         "apiVersion": "2016-06-01",
         // Template parameter reference for connection name
         "name": "[parameters('office365_1_Connection_Name')]",
         // Template parameter reference for connection resource location. Must match logic app location.
         "location": "[parameters('LogicAppLocation')]",
         "properties": {
            "api": {
               // Connector ID
               "id": "[concat(subscription().id, '/providers/Microsoft.Web/locations/', parameters('LogicAppLocation'), '/managedApis/', 'office365')]"
            },
            // Template parameter reference for connection display name
            "displayName": "[parameters('office365_1_Connection_DisplayName')]"
         }
      }
   ],
   "outputs": {}
}

Definice prostředků aplikace logiky funguje také s definicemi prostředků připojení těmito způsoby:

  • V definici pracovního postupu objekt deklaruje $connections parametr pro hodnoty připojení, parameters které se mají použít za běhu aplikace logiky. Aktivační událost nebo akce, která vytvoří připojení, používá také odpovídající hodnoty předávané tímto $connections parametrem.

  • Mimo definici pracovního postupu, ale stále uvnitř definice prostředku aplikace logiky nastaví jiný parameters objekt hodnoty, které se mají pro parametr použít za běhu $connections , a to odkazem na odpovídající parametry šablony. Tyto hodnoty používají výrazy šablon k odkazování na prostředky, které bezpečně ukládají metadata pro připojení v aplikaci logiky.

    Metadata mohou například zahrnovat připojovací řetězce a přístupové tokeny, které můžete uložit v Azure Key Vault. Pokud chcete tyto hodnoty předat parametrům šablony, odkazujete na tento trezor klíčů v souboru parametrů , který vaše šablona používá při nasazení. Další informace o rozdílech v odkazování na parametry naleznete v části Odkazy na parametry dále v tomto tématu.

    Když otevřete definici pracovního postupu aplikace logiky v zobrazení kódu prostřednictvím Azure Portal nebo sady Visual Studio, $connections objekt se zobrazí mimo definici pracovního postupu, ale na stejné úrovni. Toto řazení v zobrazení kódu usnadňuje odkazování na tyto parametry při ruční aktualizaci definice pracovního postupu:

    {
       "$connections": {<workflow-definition-parameter-connection-values-runtime},
       "definition": {<workflow-definition>}
    }
    
  • Definice prostředku vaší aplikace logiky obsahuje dependsOn objekt, který určuje závislosti na připojeních používaných vaší aplikací logiky.

Každé připojení, které vytvoříte, má v Azure jedinečný název. Při vytváření více připojení ke stejné službě nebo systému se každý název připojení připojí číslem, které se zvýší o každé nové připojení vytvořené, office365například , office365-1a tak dále.

Tento příklad ukazuje interakce mezi definicí prostředku aplikace logiky a definicí prostředku připojení pro Office 365 Outlooku:

{
   "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
   "contentVersion": "1.0.0.0",
   // Template parameters
   "parameters": {
      "LogicAppName": {<parameter-definition>},
      "LogicAppLocation": {<parameter-definition>},
      "office365_1_Connection_Name": {<parameter-definition>},
      "office365_1_Connection_DisplayName": {<parameter-definition>}
   },
   "variables": {},
   "functions": [],
   "resources": [
      {
         // Start logic app resource definition
         "properties": {
            <...>,
            "definition": {
               <...>,
               "parameters": {
                  // Workflow definition "$connections" parameter
                  "$connections": {
                     "defaultValue": {},
                     "type": "Object"
                  }
               },
               <...>
            },
            "parameters": {
               // Workflow definition "$connections" parameter values to use at runtime
               "$connections": {
                  "value": {
                     "office365": {
                        // Template parameter references
                        "id": "[concat(subscription().id, '/providers/Microsoft.Web/locations/', parameters('LogicAppLocation'), '/managedApis/', 'office365')]",
                        "connectionId": "[resourceId('Microsoft.Web/connections', parameters('office365_1_Connection_Name'))]",
                        "connectionName": "[parameters('office365_1_Connection_Name')]"
                     }
                  }
               }
            }
         },
         <other-logic-app-resource-information>,
         "dependsOn": [
            "[resourceId('Microsoft.Web/connections', parameters('office365_1_Connection_Name'))]"
         ]
         // End logic app resource definition
      },
      // Office 365 Outlook API connection resource definition
      {
         "type": "Microsoft.Web/connections",
         "apiVersion": "2016-06-01",
         // Template parameter reference for connection name
         "name": "[parameters('office365_1_Connection_Name')]",
         // Template parameter reference for connection resource location. Must match logic app location.
         "location": "[parameters('LogicAppLocation')]",
         "properties": {
            "api": {
               // Connector ID
               "id": "[concat(subscription().id, '/providers/Microsoft.Web/locations/', parameters('LogicAppLocation'), '/managedApis/', 'office365')]"
            },
            // Template parameter reference for connection display name
            "displayName": "[parameters('office365_1_Connection_DisplayName')]"
         }
      }
   ],
   "outputs": {}
}

Zabezpečené parametry připojení

Pro parametr připojení, který zpracovává citlivé informace, hesla, přístupové klíče nebo tajné kódy, definice prostředku připojení obsahuje parameterValues objekt, který určuje tyto hodnoty ve formátu páru name-value. Chcete-li tyto informace skrýt, můžete deklarovat nebo upravovat parametry šablony pro tyto hodnoty pomocí securestring typů parametrů nebo secureobject typů parametrů. Informace pak můžete uložit v Azure Key Vault. Pokud chcete tyto hodnoty předat parametrům šablony, odkazujete na tento trezor klíčů v souboru parametrů , který vaše šablona používá při nasazení.

Tady je příklad, který poskytuje název účtu a přístupový klíč pro připojení Azure Blob Storage:

Soubor parametrů

{
   "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
   "contentVersion": "1.0.0.0",
   // Template parameter values
   "parameters": {
      "LogicAppName": {
         "value": "Email-Processor-Logic-App"
      },
      "LogicAppLocation": {
         "value": "westeurope"
      },
      "azureblob_1_Connection_Name": {
         "value": "Fabrikam-Azure-Blob-Storage-Connection"
      },
      "azureblob_1_Connection_DisplayName": {
         "value": "Fabrikam-Storage"
      },
      "azureblob_1_accountName": {
         "value": "Fabrikam-Storage-Account"
      },
      "azureblob_1_accessKey": {
         "reference": {
            "keyVault": {
               "id": "/subscriptions/<Azure-subscription-ID>/resourceGroups/<Azure-resource-group-name>/Microsoft.KeyVault/vaults/fabrikam-key-vault"
            },
            "secretName": "FabrikamStorageKey"
         }
      }
   }
}

Šablona

{
   "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
   "contentVersion": "1.0.0.0",
   // Template parameters
   "parameters": {
      "LogicAppName": {<parameter-definition>},
      "LogicAppLocation": {<parameter-definition>},
      "azureblob_1_Connection_Name": {<parameter-definition>},
      "azureblob_1_Connection_DisplayName": {<parameter-definition>},
      "azureblob_1_accountName": {
         "type": "string",
         "defaultValue": "",
         "metadata": {
            "description": "Name of the storage account the connector should use."
         }
      },
      "azureblob_1_accessKey": {
         "type": "secureobject",
         "metadata": {
            "description": "Specify a valid primary/secondary storage account access key."
         }
      }
   },
   "variables": {},
   "functions": [],
   "resources": [
      {
         "properties": {
            "state": "Disabled",
            "definition": {
               "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
               "actions": {
                  // Azure Blob Storage action
                  "Create_blob": {
                     "type": "ApiConnection",
                     "inputs": {
                        "host": {
                           "connection": {
                              // Workflow definition parameter reference for values to use at runtime
                              "name": "@parameters('$connections')['azureblob']['connectionId']"
                           }
                        },
                     },
                     "method": "post",
                     "body": "@triggerBody()?['Body']",
                     "path": "/datasets/default/files",
                     "queries": {
                        "folderPath": "/emails",
                        "name": "@triggerBody()?['Subject']",
                        "queryParametersSingleEncoded": true
                     },
                     "runAfter": {},
                     "runtimeConfiguration": {
                        "contentTransfer": {
                           "transferMode": "Chunked"
                        }
                     }
                  }
               },
               "parameters": {
                  // Workflow definition parameter for values to use at runtime
                  "$connections": {
                     "defaultValue": {},
                     "type": "Object"
                  }
               },
               "triggers": {<trigger-definition>},
               "contentVersion": "1.0.0.0",
               "outputs": {}
            },
            "parameters": {
               "$connections": {
                  "value": {
                     // Template parameter references for values to use at runtime
                     "azureblob": {
                        "id": "[concat(subscription().id, '/providers/Microsoft.Web/locations/', parameters('LogicAppLocation'), '/managedApis/', 'azureblob')]",
                        "connectionId": "[resourceId('Microsoft.Web/connections', parameters('azureblob_1_Connection_Name'))]",
                        "connectionName": "[parameters('azureblob_1_Connection_Name')]"
                    }
                  }
               }
            },
            "name": "[parameters('LogicAppName')]",
            "type": "Microsoft.Logic/workflows",
            "location": "[parameters('LogicAppLocation')]",
            "tags": {
               "displayName": "LogicApp"
            },
            "apiVersion": "2019-05-01",
            // Template parameter reference for value to use at deployment
            "dependsOn": [
               "[resourceId('Microsoft.Web/connections', parameters('azureblob_1_Connection_Name'))]"
            ]
         }
      },
      // Azure Blob Storage API connection resource definition
      {
         "type": "Microsoft.Web/connections",
         "apiVersion": "2016-06-01",
         "name": "[parameters('azureblob_1_Connection_Name')]",
         "location": "[parameters('LogicAppLocation')]",
         "properties": {
            "api": {
               "id": "[concat(subscription().id, '/providers/Microsoft.Web/locations/', parameters('LogicAppLocation'), '/managedApis/', 'azureblob')]"
            },
            "displayName": "[parameters('azureblob_1_Connection_DisplayName')]",
            // Template parameter reference for values to use at deployment
            "parameterValues": {
               "accountName": "[parameters('azureblob_1_accountName')]",
               "accessKey": "[parameters('azureblob_1_accessKey')]"
            }
         }
      }
   ],
   "outputs": {}
}

Ověřování připojení

Po nasazení funguje vaše aplikace logiky uceleně s platnými parametry. Přesto ale musíte autorizovat všechna připojení OAuth k vygenerování platných přístupových tokenů pro ověřování přihlašovacích údajů. Další informace najdete v tématu Autorizace připojení OAuth.

Některá připojení podporují použití instančního objektu Služby Azure Active Directory (Azure AD) k autorizaci připojení pro aplikaci logiky zaregistrovanou v Azure AD. Tato definice prostředku připojení Azure Data Lake například ukazuje, jak odkazovat na parametry šablony, které zpracovávají informace instančního objektu a jak šablona deklaruje tyto parametry:

Definice prostředku připojení

{
   <other-template-objects>
   "type": "Microsoft.Web/connections",
   "apiVersion": "2016-06-01",
   "name": "[parameters('azuredatalake_1_Connection_Name')]",
   "location": "[parameters('LogicAppLocation')]",
   "properties": {
      "api": {
         "id": "[concat(subscription().id, '/providers/Microsoft.Web/locations/', 'resourceGroup().location', '/managedApis/', 'azuredatalake')]"
      },
      "displayName": "[parameters('azuredatalake_1_Connection_DisplayName')]",
      "parameterValues": {
         "token:clientId": "[parameters('azuredatalake_1_token:clientId')]",
         "token:clientSecret": "[parameters('azuredatalake_1_token:clientSecret')]",
         "token:TenantId": "[parameters('azuredatalake_1_token:TenantId')]",
         "token:grantType": "[parameters('azuredatalake_1_token:grantType')]"
      }
   }
}
Atribut Popis
token:clientId ID aplikace nebo klienta přidružené k vašemu instančnímu objektu
token:clientSecret Hodnota klíče přidružená k vašemu instančnímu objektu
token:TenantId ID adresáře pro vašeho tenanta Azure AD
token:grantType Požadovaný typ grantu, který musí být client_credentials. Další informace najdete v tématu Microsoft identity platform a toku přihlašovacích údajů klienta OAuth 2.0.

Definice parametrů šablony

Objekt nejvyšší úrovně parameters šablony deklaruje tyto parametry pro ukázkové připojení:

{
   "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
   "contentVersion": "1.0.0.0",
   "parameters": {
      "azuredatalake_1_Connection_Name": {
        "type": "string",
        "defaultValue": "azuredatalake"
      },
      "azuredatalake_1_Connection_DisplayName": {
        "type": "string",
        "defaultValue": "<connection-name>"
      },
      "azuredatalake_1_token:clientId": {
        "type": "securestring",
        "metadata": {
          "description": "Client (or Application) ID of the Azure Active Directory application."
        }
      },
      "azuredatalake_1_token:clientSecret": {
        "type": "securestring",
        "metadata": {
          "description": "Client secret of the Azure Active Directory application."
        }
      },
      "azuredatalake_1_token:TenantId": {
        "type": "securestring",
        "metadata": {
          "description": "The tenant ID of for the Azure Active Directory application."
        }
      },
      "azuredatalake_1_token:resourceUri": {
        "type": "string",
        "metadata": {
          "description": "The resource you are requesting authorization to use."
        }
      },
      "azuredatalake_1_token:grantType": {
        "type": "string",
        "metadata": {
          "description": "Grant type"
        },
        "defaultValue": "client_credentials",
        "allowedValues": [
          "client_credentials"
        ]
      },
      // Other template parameters
   }
   // Other template objects
}

Další informace o práci s instančními objekty najdete v těchto tématech:

Odkazy na parametry

Pokud chcete odkazovat na parametry šablony, můžete použít výrazy šablon s funkcemi šablon, které se vyhodnocují při nasazení. Výrazy šablon používají hranaté závorky ([]):

"<attribute-name>": "[parameters('<template-parameter-name>')]"

Pokud chcete odkazovat na parametry definice pracovního postupu, použijte výrazy a funkce jazyka definice pracovního postupu, které se vyhodnocují za běhu. Můžete si všimnout, že některé funkce šablony a definice pracovních postupů mají stejný název. Výrazy definice pracovního postupu začínají symbolem "at" (@):

"<attribute-name>": "@parameters('<workflow-definition-parameter-name>')"

Hodnoty parametrů šablony můžete předat definici pracovního postupu pro aplikaci logiky, která se má použít za běhu. Vyhněte se však použití parametrů šablon, výrazů a syntaxe v definici pracovního postupu, protože Návrhář aplikace logiky nepodporuje prvky šablony. Syntaxe šablony a výrazy také můžou komplikovat kód z důvodu rozdílů v vyhodnocení výrazů.

Místo toho pomocí těchto obecných kroků deklarujte a odkazujte na parametry definice pracovního postupu pro použití za běhu, deklarujte a odkazujte na parametry šablony, které se mají použít při nasazení, a zadejte hodnoty, které se mají předat při nasazení pomocí souboru parametrů. Úplné podrobnosti najdete v části Definice pracovního postupu a parametry výše v tomto tématu.

  1. Vytvořte šablonu a deklarujte parametry šablony pro hodnoty, které budou přijímat a používat při nasazení.

  2. V definici pracovního postupu deklarujte parametry hodnot, které se mají přijmout a používat za běhu. Tyto hodnoty pak můžete odkazovat v rámci definice pracovního postupu.

  3. V objektu parameters , který je mimo definici pracovního postupu, ale stále uvnitř definice prostředku aplikace logiky, nastavte hodnoty parametrů definice pracovního postupu odkazováním na odpovídající parametry šablony. Tímto způsobem můžete předat hodnoty parametrů šablony do parametrů definice pracovního postupu.

  4. V souboru parametrů zadejte hodnoty šablony, které se mají použít při nasazení.

Úplná ukázková šablona

Tady je parametrizovaná ukázková šablona, která se používá v příkladech tohoto tématu:

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
   "parameters": {
      "LogicAppName": {
         "type": "string",
         "minLength": 1,
         "maxLength": 80,
         "defaultValue": "MyLogicApp",
         "metadata": {
            "description": "The resource name to use for the logic app"
         }
      },
      "LogicAppLocation": {
         "type": "string",
         "minLength": 1,
         "defaultValue": "[resourceGroup().location]",
         "metadata": {
            "description": "The resource location to use for the logic app"
         }
      },
      "office365_1_Connection_Name": {
         "type": "string",
         "defaultValue": "office365",
         "metadata": {
            "description": "The resource name to use for the Office 365 Outlook connection"
         }
      },
      "office365_1_Connection_DisplayName": {
         "type": "string",
         "defaultValue": "",
         "metadata": {
            "description": "The display name to use for the Office 365 Outlook connection"
         }
      },
      "azureblob_1_Connection_Name": {
         "type": "string",
         "defaultValue": "azureblob",
         "metadata": {
            "description": "The resource name to use for the Azure Blob storage account connection"
         }
      },
      "azureblob_1_Connection_DisplayName": {
         "type": "string",
         "defaultValue": "",
         "metadata": {
            "description": "Name of the storage account the connector should use."
         }

      },
      "azureblob_1_accountName": {
         "type": "string",
         "defaultValue": "",
         "metadata": {
            "description": "Name of the storage account the connector should use."
         }
      },
      "azureblob_1_accessKey": {
         "type": "securestring",
         "metadata": {
            "description": "Specify a valid primary/secondary storage account access key."
         }
      },
      "LogicAppIntegrationAccount": {
         "type":"string",
         "minLength": 1,
         "defaultValue": "/subscriptions/<Azure-subscription-ID>/resourceGroups/fabrikam-integration-account-rg/providers/Microsoft.Logic/integrationAccounts/fabrikam-integration-account",
         "metadata": {
            "description": "The ID to use for the integration account"
         }
      }
   },
   "variables": {},
   "resources": [
      {
         "properties": {
            "state": "Disabled",
            "integrationAccount": {
              "id": "[parameters('LogicAppIntegrationAccount')]"
            },
            "definition": {
               "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
               "actions": {
                  "Create_blob": {
                     "type": "ApiConnection",
                     "inputs": {
                        "host": {
                           "connection": {
                              "name": "@parameters('$connections')['azureblob']['connectionId']"
                           }
                        }
                     },
                     "method": "post",
                     "body": "@triggerBody()?['Body']",
                     "path": "/datasets/default/files",
                     "queries": {
                        "folderPath": "/emails",
                        "name": "@triggerBody()?['Subject']",
                        "queryParametersSingleEncoded": true
                     },
                     "runAfter": {},
                     "runtimeConfiguration": {
                        "contentTransfer": {
                           "transferMode": "Chunked"
                        }
                     }
                  }
               },
               "parameters": {
                  "$connections": {
                     "defaultValue": {},
                     "type": "Object"
                  }
               },
               "triggers": {
                  "When_a_new_email_arrives": {
                     "type": "ApiConnection",
                     "inputs": {
                        "host": {
                           "connection": {
                              "name": "@parameters('$connections')['office365']['connectionId']"
                           }
                        },
                        "method": "get",
                        "path": "/Mail/OnNewEmail",
                        "queries": {
                           "folderPath": "Inbox",
                           "importance": "Any",
                           "fetchOnlyWithAttachment": false,
                           "includeAttachments": false
                        }
                     },
                     "recurrence": {
                        "frequency": "Day",
                        "interval": 1
                     },
                     "splitOn": "@triggerBody()?['value']"
                  }
               },
               "contentVersion": "1.0.0.0",
               "outputs": {}
            },
            "parameters": {
               "$connections": {
                  "value": {
                     "azureblob": {
                        "id": "[concat(subscription().id, '/providers/Microsoft.Web/locations/', parameters('LogicAppLocation'), '/managedApis/', 'azureblob')]",
                        "connectionId": "[resourceId('Microsoft.Web/connections', parameters('azureblob_1_Connection_Name'))]",
                        "connectionName": "[parameters('azureblob_1_Connection_Name')]"
                     },
                     "office365": {
                        "id": "[concat(subscription().id, '/providers/Microsoft.Web/locations/', parameters('LogicAppLocation'), '/managedApis/', 'office365')]",
                        "connectionId": "[resourceId('Microsoft.Web/connections', parameters('office365_1_Connection_Name'))]",
                        "connectionName": "[parameters('office365_1_Connection_Name')]"
                     }
                  }
               }
            },
            "accessControl": {}
         },
         "name": "[parameters('LogicAppName')]",
         "type": "Microsoft.Logic/workflows",
         "location": "[parameters('LogicAppLocation')]",
         "tags": {
            "displayName": "LogicApp"
         },
         "apiVersion": "2019-05-01",
         "dependsOn": [
            "[resourceId('Microsoft.Web/connections', parameters('azureblob_1_Connection_Name'))]",
            "[resourceId('Microsoft.Web/connections', parameters('office365_1_Connection_Name'))]"
         ]
      },
      {
         "type": "Microsoft.Web/connections",
         "apiVersion": "2016-06-01",
         "name": "[parameters('office365_1_Connection_Name')]",
         "location": "[parameters('LogicAppLocation')]",
         "properties": {
            "api": {
                "id": "[concat(subscription().id, '/providers/Microsoft.Web/locations/', parameters('LogicAppLocation'), '/managedApis/', 'office365')]"
            },
            "displayName": "[parameters('office365_1_Connection_DisplayName')]"
         }
      },
      {
         "type": "Microsoft.Web/connections",
         "apiVersion": "2016-06-01",
         "name": "[parameters('azureblob_1_Connection_Name')]",
         "location": "[parameters('LogicAppLocation')]",
         "properties": {
            "api": {
               "id": "[concat(subscription().id, '/providers/Microsoft.Web/locations/', parameters('LogicAppLocation'), '/managedApis/', 'azureblob')]"
            },
            "displayName": "[parameters('azureblob_1_Connection_DisplayName')]",
            "parameterValues": {
               "accountName": "[parameters('azureblob_1_accountName')]",
               "accessKey": "[parameters('azureblob_1_accessKey')]"
            }
         }
      }
   ],
   "outputs": {}
}

Další kroky