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

Až budete připraveni automatizovat vytváření a nasazování aplikace logiky, můžete základní definici pracovního postupu aplikace logiky rozšířit do šablony Azure Resource Manager logiky. 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 v nasazení liší, 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 nasazujete 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, kde jsou hodnoty parametrů citlivé nebo musí být zabezpečené, jako jsou hesla a tajné kódy, můžete tyto hodnoty uložit do Azure Key Vault a soubor parametrů tyto hodnoty načíst. V těchto scénářích byste ale znovu nasadíte a načtete 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 také dodržuje schéma 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

Pro nejjednodušší způsob, jak získat platnou šablonu parametrizované aplikace logiky, která je většinou připravená k nasazení, použijte Visual Studio (bezplatnou edici Community nebo vyšší) a Azure Logic Apps Tools for Visual Studio. Pak můžete aplikaci logiky vytvořit ve službě Visual Studio nebo vyhledat a stáhnout existující aplikaci logiky z Azure do Visual Studio.

Nebo můžete vytvořit šablony aplikace logiky pomocí Azure PowerShell s modulem LogicAppTemplate.

Příklad aplikace logiky v tomto tématu používá trigger Office 365 Outlook, který se aktivuje při doručení 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 liší v nasazení.

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

Informace o prostředcích šablon specifických 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:

Pro Logic Apps REST API začněte s přehledem Azure Logic Apps REST API .

Struktura šablon

Na nejvyšší úrovni používá šablona Resource Manager strukturu, která je plně popsaná v tématu Azure Resource Manager šablony 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í vaší aplikace logiky, připojení a další prostředky potřebné pro 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 šablony a syntaxe.
resources Definuje prostředky, které se mají vytvořit nebo aktualizovat a nasadit do skupiny prostředků Azure, jako jsou aplikace logiky, připojení, účty úložiště Azure atd. Obecné podrobnosti najdete v tématu Prostředky – Resource Manager šablony a syntaxe.

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

<logic-app-name>.json

Důležité

V syntaxi šablony se rozlišují velká a malá písmena, proto se ujistěte, že používáte konzistentní velká a malá písmena.

Parametry šablony

Šablona aplikace logiky má několik 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 logika 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ě šablony deklaruje parametr, který přijímá ID prostředku pro tento účet parameters integrace.

Tady je obecná struktura a syntaxe pro definici parametru, která je plně popsaná v části Parameters – Resource Manager šablony a syntaxi:

"<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 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": {}
}

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

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

Ostatní objekty šablony často odkazují na parametry šablony, aby mohli používat hodnoty, které předá parametry šablony, například:

  • Objekt resources vašíš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 vaší aplikace logiky. Tyto prostředky často používají hodnoty parametrů šablony, jako je název a umístění aplikace logiky a informace o připojení.

  • Na hlubší úrovni v definici prostředku vaší aplikace logiky deklaruje objekt parameters definice pracovního postupu parametry pro hodnoty, které se mají použít v modulu runtime 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 objekt, který je mimo definici pracovního postupu, ale stále uvnitř definice parameters prostředku vaší aplikace logiky. V tomto vnějším objektu můžete odkazovat na dříve deklarované parametry šablony, které mohou přijímat hodnoty při nasazení parameters 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 potřebách nasazení. Nedeklarujte parametry pro hodnoty, které zůstanou stejné pro různé požadavky nasazení.

  • Zahrřte atribut , který může zadat prázdné hodnoty, pro všechny parametry kromě hodnot, které jsou citlivé nebo defaultValue 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 pro šablony najdete v tématu Osvědčené postupy pro parametry šablony.

Soubor parametrů šablony

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

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

Tady je struktura v souboru parametrů, která obsahuje odkaz na trezor 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 příklad souboru parametrů určuje hodnoty parametrů šablony deklarovaných 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

Vaše šablona obsahuje objekt , což je pole obsahující definice pro každý prostředek, který se má vytvořit a nasadit v Azure, například definici prostředku aplikace logiky, definice prostředků připojení a všechny další prostředky, které vaše aplikace logiky potřebuje k resources 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 mohou 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í Visual Studio, budete vyzváni k zadání aplikace logiky, kterou chcete otevřít. Projekt skupiny prostředků Azure může také obsahovat více než jednu šablonu, proto se ujistěte, že po zobrazení výzvy vyberete 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 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 zdrojích šablon a jejich atributech najdete v těchto tématech:

Definice prostředku aplikace logiky

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

  • Stav aplikace logiky v nasazení
  • ID libovolného účtu integrace používaného vaší aplikací logiky
  • Definice pracovního postupu aplikace logiky
  • Objekt, parameters který nastaví hodnoty, které se mají použít za běhu
  • Další informace o prostředek aplikace logiky, například název, typ, umístění, nastavení konfigurace modulu runtime a tak dále
{
   "$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": "2016-06-01",
         "dependsOn": [
         ]
      }
      // End logic app resource definition
   ],
   "outputs": {}
}

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

Atribut Požaduje se Typ Popis
state Ano Řetězec Stav aplikace logiky v nasazení znamená, že je vaše aplikace logiky aktivní a znamená, že Enabled Disabled je neaktivní. Pokud například nejste připraveni k živé aplikaci logiky, ale chcete nasadit koncept verze, můžete použít Disabled možnost .
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 atribut , který určuje ID účtu id integrace.
definition Yes Objekt Základní definice pracovního postupu aplikace logiky, což je stejný objekt, který se zobrazuje v zobrazení kódu a je plně popsaný v tématu Referenční informace ke schématu jazyka definice pracovního postupu. V této definici pracovního postupu parameters objekt deklaruje parametry pro hodnoty, které se mají použít za běhu aplikace logiky. Další informace najdete v tématu Definice pracovního postupu a parametry.

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

parameters No Objekt Hodnoty parametrů definice pracovního postupu, které se používají za běhu aplikace logiky. Definice parametrů pro tyto hodnoty se zobrazí uvnitř objektu parameters definice pracovního postupu. Navíc pokud vaše aplikace logiky používá spravované konektory pro přístup k jiným službám a systémům, obsahuje tento objekt objekt, který nastaví hodnoty připojení pro $connections použití za běhu.
accessControl No Objekt Pro určení atributů zabezpečení pro aplikaci logiky, jako je omezení přístupu IP na aktivační události požadavků nebo vstupy a výstupy historie spuštění. Další informace najdete v tématu Zabezpečený přístup k aplikacím logiky.
runtimeConfiguration No Objekt Pro určení všech vlastností, které řídí způsob, jakým se vaše aplikace operationOptions 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 Logic Apps objektů 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 uvnitř definice definition properties prostředku vaší aplikace logiky. Tento objekt je stejný objekt, který se zobrazuje v zobrazení kódu a je plně popsaný v tématu Referenční informace o schématu definition jazyka definice pracovního postupu. Definice pracovního postupu obsahuje vnitřní objekt deklarace, kde můžete definovat nové nebo upravit existující parametry pro hodnoty, které jsou parameters používány definicí pracovního postupu za běhu. Na tyto parametry pak můžete odkazovat uvnitř triggeru nebo akcí v pracovním postupu. Ve výchozím nastavení je tento objekt prázdný, pokud vaše aplikace logiky nevytváří připojení k jiným službám a parameters systémům prostřednictvím spravovaných konektorů.

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

Tip

Osvědčeným postupem je nenásledovat přímo 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, který je mimo definici pracovního postupu, ale stále uvnitř definice parameters prostředku vaší 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í parametrů 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, deklarujte nebo upravte parametr pro použití securestring secureobject typu parametru nebo . Na 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 objekt, který je mimo definici pracovního postupu, ale stále v definici prostředku aplikace logiky pro parameters odkazování na parametr šablony. Pokud chcete hodnotu předat parametru šablony v nasazení, uložte ji do Azure Key Vault a odkazujte na tento trezor klíčů v souboru parametrů, který používá vaše šablona při nasazení.

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

  • Deklarujte zabezpečené parametry pro hodnoty používané 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 se chcete ujistit, že Návrhář aplikace logiky může správně zobrazit parametry definice pracovního postupu, postupujte podle těchto osvědčených postupů:

Další informace o parametrech definice pracovního postupu najdete v tématu Parametry – jazyk definice pracovního postupu.

Definice prostředků připojení

Když vaše aplikace logiky vytvoří a použije připojení k jiným službám a systému pomocí spravovaných konektorů, objekt vaší šablony obsahuje definice prostředků resources pro tato připojení. I když vytváříte připojení z aplikace logiky, připojení jsou samostatné prostředky Azure s vlastními definicemi prostředků. Pokud chcete tyto definice prostředků připojení zkontrolovat, stáhněte si aplikaci logiky z Azure do 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, takže tyto hodnoty můžete 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 vaše aplikace logiky.

Tady je příklad definice prostředku pro připojení Office 365 Outlook 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ředku vaší aplikace logiky také funguje s definicemi prostředků připojení následujícími způsoby:

  • Uvnitř definice pracovního postupu parameters objekt deklaruje $connections parametr pro hodnoty připojení, které se mají použít za běhu aplikace logiky. Trigger nebo akce, která vytvoří připojení, také používá odpovídající hodnoty, které projdou tímto $connections parametrem.

  • Mimo definici pracovního postupu, ale stále v definici prostředku vaší aplikace logiky nastaví jiný objekt hodnoty, které se mají použít za běhu parametru odkazováním na parameters odpovídající parametry $connections šablony. Tyto hodnoty používají výrazy šablony 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, odkažíte 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 najdete 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 Visual Studio, objekt se zobrazí mimo definici pracovního postupu, ale $connections 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 objekt , který určuje závislosti na dependsOn připojeních používaných vaší aplikací logiky.

Každé připojení, které vytvoříte, má v Azure jedinečný název. Když vytvoříte více připojení ke stejné službě nebo systému, připojí se každý název připojení číslem, které se zvýší s každým nově vytvořeným připojením, například office365 office365-1 , atd.

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

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

Parametry zabezpečeného 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 objekt, který tyto hodnoty určuje ve formátu páru parameterValues název-hodnota. Pokud chcete tyto informace skrýt, můžete deklarovat nebo upravit parametry šablony pro tyto hodnoty pomocí typů securestring secureobject parametrů nebo . Tyto informace pak můžete uložit do Azure Key Vault. Pokud chcete tyto hodnoty předat parametrům šablony, odkažíte 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í k objektu Storage Azure Blob:

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": "2016-06-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í bude vaše aplikace logiky fungovat od konce s platnými parametry. Přesto ale musíte všechna připojení OAuth autorizovat, aby se vygenerovaly platné přístupové tokeny pro ověřování vašich 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 Azure Active Directory (Azure AD) k autorizaci připojení pro aplikaci logiky zaregistrovanou v Azure AD. Například tato definice prostředku připojení Azure Data Lake ukazuje, jak odkazovat na parametry šablony, které zvládá informace o objektu služby, 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 objektu služby
token:clientSecret Hodnota klíče přidružená k vašemu objektu služby
token:TenantId ID adresáře pro vašeho tenanta Azure AD
token:grantType Požadovaný typ udělení, který musí být client_credentials . Další informace najdete v tématu Microsoft identity platform a tok přihlašovacích údajů klienta OAuth 2.0.

Definice parametrů šablony

Objekt nejvyšší úrovně šablony parameters deklaruje tyto parametry pro příklad 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 objekty služby najdete v těchto tématech:

Odkazy na parametry

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

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

Pokud chcete odkazovat na parametry definice pracovního postupu, použijtevý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 funkce definice pracovního postupu mají stejný název. Výrazy definice pracovního postupu začínají symbolem "za" ( @ ):

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

Do definice pracovního postupu můžete předat hodnoty parametrů šablony, aby se vaše aplikace logiky používat za běhu. V definici pracovního postupu ale nepoužívejte parametry šablony, výrazy a syntaxi, protože Návrhář aplikace logiky nepodporuje prvky šablony. Syntaxe šablony a výrazy také mohou komplikovat kód kvůli rozdílům v vyhodnocování výrazů.

Místo toho postupujte podle těchto obecných kroků a deklarujte a odkazujte na parametry definice pracovního postupu, které se mají použít 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 dříve v tomto tématu.

  1. Vytvořte šablonu a deklarujte parametry šablony pro hodnoty, které se mají přijmout a použít při nasazení.

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

  3. V objektu, který je mimo definici pracovního postupu, ale stále v definici prostředku vaší aplikace logiky, nastavte hodnoty parametrů definice pracovního postupu odkazem na parameters 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í.

Kompletní příklad šablony

Tady je parametrizovaná ukázková šablona, kterou používají příklady v tomto 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": "2016-06-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