Megosztás a következőn keresztül:


Áttekintés: Az Azure Logic Apps üzembe helyezésének automatizálása Azure Resource Manager-sablonok használatával

A következőkre vonatkozik: Azure Logic Apps (Használat)

Ha készen áll a logikai alkalmazás létrehozásának és üzembe helyezésének automatizálására, kibővítheti a logikai alkalmazás mögöttes munkafolyamat-definícióját egy Azure Resource Manager-sablonba. Ez a sablon határozza meg a logikai alkalmazás kiépítéséhez és üzembe helyezéséhez szükséges infrastruktúrát, erőforrásokat, paramétereket és egyéb információkat. Az üzembe helyezéskor változó értékek paramétereinek ( más néven paraméterezésnek) definiálásával a logikai alkalmazásokat ismételten és következetesen helyezheti üzembe a különböző üzembehelyezési igények alapján.

Ha például fejlesztési, tesztelési és éles környezetekben helyezi üzembe az üzembe helyezést, valószínűleg különböző kapcsolati sztring használ az egyes környezetekhez. Deklarálhat olyan sablonparamétereket, amelyek különböző kapcsolati sztring fogadnak el, majd ezeket a sztringeket külön paraméterfájlban tárolja. Így úgy módosíthatja ezeket az értékeket, hogy nem kell frissítenie és újra üzembe helyeznie a sablont. Olyan forgatókönyvek esetén, amelyekben bizalmas vagy biztonságos paraméterértékek ( például jelszavak és titkos kódok) vannak, ezeket az értékeket az Azure Key Vaultban tárolhatja, és a paraméterfájl lekérheti ezeket az értékeket. Ezekben a forgatókönyvekben azonban újra üzembe helyezheti az aktuális értékeket.

Ez az áttekintés egy logikai alkalmazás munkafolyamat-definícióját tartalmazó Resource Manager-sablon attribútumait ismerteti. A sablon és a munkafolyamat-definíció is JSON-szintaxist használ, de vannak különbségek, mert a munkafolyamat-definíció a Munkafolyamat-definíció nyelvi sémáját is követi. A sablonkifejezések és a munkafolyamat-definíciós kifejezések például eltérnek a paraméterek hivatkozási módjától és az általuk elfogadható értékektől.

Tipp.

Az üzembe helyezésre leginkább alkalmas, érvényes paraméteres logikai alkalmazássablon beszerzésének legegyszerűbb módja a Visual Studio (ingyenes közösségi kiadás vagy újabb) és az Azure Logic Apps Tools for Visual Studio használata. Ezután létrehozhatja a logikai alkalmazást a Visual Studióban , vagy megkereshet és letölthet egy meglévő logikai alkalmazást az Azure-ból a Visual Studióba.

Vagy létrehozhat logikai alkalmazássablonokat az Azure PowerShell használatával a LogicAppTemplate modullal.

A jelen témakörben szereplő példa logikai alkalmazás egy Office 365 Outlook-eseményindítót használ, amely egy új e-mail érkezésekor aktiválódik, valamint egy Azure Blob Storage-műveletet , amely létrehoz egy blobot az e-mail törzséhez, és feltölti azt egy Azure Storage-tárolóba. A példák azt is bemutatják, hogyan paraméterezheti az üzembe helyezés során változó értékeket.

A Resource Manager-sablonokról az alábbi témakörökben talál további információt:

A logikai alkalmazásokra, integrációs fiókokra, integrációs fiókösszetevőkre és integrációs szolgáltatási környezetekre vonatkozó sablonerőforrás-információkért tekintse meg a Microsoft.Logic erőforrástípusait.

A logikai alkalmazássablonok mintáiért tekintse meg az alábbi példákat:

A Logic Apps REST API-hoz kezdje az Azure Logic Apps REST API áttekintésével.

Sablonszerkezet

A legfelső szinten egy Resource Manager-sablon követi ezt a struktúrát, amelyet az Azure Resource Manager-sablonstruktúra és a szintaxis témakör részletesen ismertet:

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

Logikai alkalmazássablonok esetében elsősorban az alábbi sablonobjektumokkal kell dolgoznia:

Attribútum Leírás
parameters Deklarálja a sablonparamétereket az Azure-ban való üzembe helyezéshez szükséges erőforrások létrehozásakor és testreszabásakor használandó értékek elfogadásához. Ezek a paraméterek például elfogadják a logikai alkalmazás nevének és helyének, kapcsolatainak és az üzembe helyezéshez szükséges egyéb erőforrásoknak az értékeit. Ezeket a paraméterértékeket egy paraméterfájlban tárolhatja, amelyet a jelen témakör későbbi részében ismertetünk. Általános részletekért tekintse meg a Paraméterek – Resource Manager-sablon struktúráját és szintaxisát.
resources Meghatározza azOkat az erőforrásokat , amelyek létrehozhatók vagy frissíthetők és üzembe helyezhetők egy Azure-erőforráscsoportban, például a logikai alkalmazásban, a kapcsolatokban, az Azure Storage-fiókokban stb. Általános részletekért lásd: Erőforrások – Resource Manager-sablonstruktúra és szintaxis.

A logikai alkalmazássablon a következő fájlnévformátumot használja:

<logic-app-name>.json

Fontos

A sablon szintaxisa megkülönbözteti a kis- és nagybetűk megkülönböztetését, ezért ügyeljen arra, hogy konzisztens burkolatot használjon.

Sablon paraméterei

A logikai alkalmazássablonok több parameters objektummal is rendelkeznek, amelyek különböző szinteken léteznek, és különböző függvényeket hajtanak végre. A legfelső szinten például deklarálhatja azoknak az értékeknek a sablonparamétereit , amelyek az üzembe helyezéskor fogadhatók el és használhatók az erőforrások Azure-ban történő létrehozásakor és üzembe helyezésekor, például:

  • A logikai alkalmazás

  • A logikai alkalmazás által használt kapcsolatok más szolgáltatásokhoz és rendszerekhez való hozzáféréshez felügyelt összekötőkkel

  • Egyéb erőforrások, amelyekre a logikai alkalmazásnak szüksége van az üzembe helyezéshez

    Ha például a logikai alkalmazás üzleti (B2B) forgatókönyvekhez használ integrációs fiókot , a sablon legfelső szintű parameters objektuma deklarálja azt a paramétert, amely elfogadja az adott integrációs fiók erőforrás-azonosítóját.

Íme egy paraméterdefiníció általános struktúrája és szintaxisa, amelyet a Paraméterek – Resource Manager-sablonstruktúra és szintaxis teljes mértékben leír:

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

Ez a példa csak az azure-beli erőforrások létrehozásához és üzembe helyezéséhez használt értékek sablonparamétereit mutatja be:

  • A logikai alkalmazás neve és helye
  • A logikai alkalmazáshoz társított integrációs fiók azonosítója
{
   "$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": {}
}

A bizalmas vagy biztonságos értékeket (például felhasználóneveket, jelszavakat és titkos kulcsokat) kezelő paraméterek kivételével ezek a paraméterek attribútumokat tartalmaznak defaultValue , bár bizonyos esetekben az alapértelmezett értékek üres értékek. A sablonparaméterekhez használandó üzembehelyezési értékeket a jelen témakör későbbi részében ismertetett mintaparaméter-fájl adja meg.

A sablonparaméterek biztonságossá tételével kapcsolatos további információkért tekintse meg az alábbi témaköröket:

Más sablonobjektumok gyakran hivatkoznak sablonparaméterekre, hogy a sablonparamétereken áthaladó értékeket használhassák, például:

  • A sablon erőforrás-objektuma, amelyről a jelen témakör későbbi részében olvashat, meghatározza a létrehozni és üzembe helyezni kívánt erőforrásokat az Azure-ban, például a logikai alkalmazás erőforrásdefinícióját. Ezek az erőforrások gyakran használnak sablonparaméter-értékeket, például a logikai alkalmazás nevét, helyét és kapcsolati adatait.

  • A logikai alkalmazás erőforrásdefiníciójának mélyebb szintjén a munkafolyamat-definíció paraméterobjektuma deklarálja a logikai alkalmazás futtatókörnyezetében használandó értékek paramétereit. Deklarálhatja például a HTTP-eseményindító által a hitelesítéshez használt felhasználónév és jelszó munkafolyamat-definíciós paramétereit. A munkafolyamat-definíciós paraméterek értékeinek megadásához használja a parameters munkafolyamat-definíción kívül eső, de a logikai alkalmazás erőforrásdefiníciójában lévő objektumot. Ebben a külső parameters objektumban hivatkozhat korábban deklarált sablonparaméterekre, amelyek egy paraméterfájlból fogadnak el értékeket az üzembe helyezéskor.

Paraméterekre való hivatkozáskor a sablonkifejezések és -függvények eltérő szintaxist használnak, és a munkafolyamat-definíciós kifejezésektől és függvényektől eltérően viselkednek. Ezekről a különbségekről a jelen témakör későbbi részében található paraméterekre mutató hivatkozások című témakörben talál további információt.

Ajánlott eljárások – sablonparaméterek

Íme néhány ajánlott eljárás a paraméterek meghatározásához:

  • Csak olyan értékekhez deklaráljon paramétereket, amelyek az üzembe helyezési igényektől függően változnak. Ne deklarálja az olyan értékek paramétereit, amelyek a különböző üzembehelyezési követelmények között azonosak maradnak.

  • Adja meg az defaultValue attribútumot, amely üres értékeket adhat meg az összes paraméterhez, kivéve a bizalmas vagy biztonságos értékeket. Mindig használjon biztonságos paramétereket a felhasználónevekhez, jelszavakhoz és titkos kódokhoz. A bizalmas paraméterértékek elrejtéséhez vagy védelméhez kövesse az alábbi témakörök útmutatását:

  • Ha meg szeretné különböztetni a sablonparaméterek nevét a munkafolyamat-definíció paraméterneveitől, leíró sablonparaméter-neveket használhat, például: TemplateFabrikamPassword

A sablonparaméterekkel kapcsolatos ajánlott eljárásokért tekintse meg a sablonparaméterek ajánlott eljárásait.

Sablonparaméterek fájlja

A sablonparaméterek értékeinek megadásához tárolja ezeket az értékeket egy paraméterfájlban. Így az üzembe helyezési igényeknek megfelelően különböző paraméterfájlokat használhat. A következő fájlnévformátumot kell használni:

  • Logikai alkalmazássablon fájlneve: <logic-app-name.json>
  • Paraméterek fájlneve: <logic-app-name>.parameters.json

Az alábbi struktúra található a paraméterfájlban, amely tartalmaz egy key vault-referenciát egy biztonságos paraméterértékNek az Azure Key Vaulttal való átadásához:

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

Ez a példaparaméter-fájl a jelen témakör korábbi részében deklarált sablonparaméterek értékeit adja meg:

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

Sablonerőforrások

A sablon rendelkezik egy resources objektummal, amely egy tömb, amely definíciókat tartalmaz az Azure-ban létrehozandó és üzembe helyezendő erőforrásokhoz, például a logikai alkalmazás erőforrásdefiníciójához, a kapcsolati erőforrás-definíciókhoz és minden más erőforráshoz, amelyre a logikai alkalmazásnak szüksége van az üzembe helyezéshez.

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

Feljegyzés

A sablonok több logikai alkalmazás erőforrásdefinícióit is tartalmazhatják, ezért győződjön meg arról, hogy a logikai alkalmazás összes erőforrása ugyanazt az Azure-erőforráscsoportot adja meg. Amikor a sablont egy Azure-erőforráscsoportban telepíti a Visual Studióval, a rendszer kérni fogja, hogy melyik logikai alkalmazást szeretné megnyitni. Az Azure-erőforráscsoport-projekt egynél több sablont is tartalmazhat, ezért a kéréskor győződjön meg arról, hogy a megfelelő paraméterfájlt választja ki.

Erőforrásdefiníciók megtekintése

Egy Azure-erőforráscsoport összes erőforrásának erőforrásdefinícióinak áttekintéséhez töltse le a logikai alkalmazást az Azure-ból a Visual Studióba, amely a legegyszerűbb módja annak, hogy létrehozzon egy érvényes, üzembe helyezésre kész paraméteres logikai alkalmazássablont.

A sablonerőforrásokról és attribútumaikról az alábbi témakörökben talál általános információkat:

Logikai alkalmazás erőforrásdefiníciója

A logikai alkalmazás munkafolyamat-erőforrásdefiníciója egy sablonban az properties objektummal kezdődik, amely az alábbi információkat tartalmazza:

  • A logikai alkalmazás állapota az üzembe helyezéskor
  • A logikai alkalmazás által használt integrációs fiók azonosítója
  • A logikai alkalmazás munkafolyamat-definíciója
  • Egy parameters objektum, amely beállítja a futásidőben használni kívánt értékeket
  • A logikai alkalmazás egyéb erőforrásadatai, például név, típus, hely, futtatókörnyezet konfigurációs beállításai stb.
{
   "$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": {}
}

A logikai alkalmazás erőforrásdefiníciójához tartozó attribútumok a következők:

Attribútum Kötelező Típus Leírás
state Igen Sztring A logikai alkalmazás állapota az üzembe helyezéskor, ami Enabled azt jelenti, hogy a logikai alkalmazás élő, és Disabled azt jelenti, hogy a logikai alkalmazás inaktív. Ha például nem áll készen arra, hogy a logikai alkalmazás élőben jelenjen meg, de egy piszkozatverziót szeretne üzembe helyezni, használhatja a Disabled lehetőséget.
integrationAccount Nem Objektum Ha a logikai alkalmazás egy integrációs fiókot használ, amely üzleti (B2B) forgatókönyvekhez tárolja az összetevőket, ez az objektum tartalmazza az id attribútumot, amely megadja az integrációs fiók azonosítóját.
definition Igen Objektum A logikai alkalmazás mögöttes munkafolyamat-definíciója, amely ugyanaz az objektum, amely kódnézetben jelenik meg, és teljes mértékben le van írva a Munkafolyamat-definíció nyelvi témakör sémahivatkozásában. Ebben a munkafolyamat-definícióban az parameters objektum deklarálja a logikai alkalmazás futtatókörnyezetében használandó értékek paramétereit. További információ: Munkafolyamat-definíció és paraméterek.

A logikai alkalmazás munkafolyamat-definíciójában szereplő attribútumok megtekintéséhez váltson a "tervező nézetről" a "kódnézetre" az Azure Portalon vagy a Visual Studióban, vagy egy olyan eszközzel, mint az Azure Resource Explorer.

parameters Nem Objektum A logikai alkalmazás futtatókörnyezetében használandó munkafolyamat-definíció paraméterértékei . Az értékek paraméterdefiníciói a munkafolyamat-definíció paraméterobjektumában jelennek meg. Ha a logikai alkalmazás felügyelt összekötőket használ más szolgáltatások és rendszerek eléréséhez, ez az objektum tartalmaz egy $connections objektumot, amely beállítja a futtatókörnyezetben használandó kapcsolati értékeket.
accessControl Nem Objektum A logikai alkalmazáshoz tartozó biztonsági attribútumok megadásához, például az IP-hozzáférés korlátozásához a kérelem eseményindítóihoz vagy az előzménybemenetek és kimenetek futtatásához. További információ: A logikai alkalmazásokhoz való biztonságos hozzáférés.
runtimeConfiguration Nem Objektum Olyan tulajdonságok megadásához operationOptions , amelyek szabályozzák a logikai alkalmazás futásidőben való viselkedését. A logikai alkalmazást például nagy átviteli sebességű módban is futtathatja.

A Logic Apps-objektumok erőforrásdefinícióival kapcsolatos további információkért lásd a Microsoft.Logic erőforrástípusait:

Munkafolyamat-definíció és paraméterek

A logikai alkalmazás munkafolyamat-definíciója megjelenik az definition objektumban, amely a properties logikai alkalmazás erőforrásdefiníciójában található objektumban jelenik meg. Ez definition az objektum ugyanaz az objektum, amely kódnézetben jelenik meg, és teljes mértékben le van írva a Munkafolyamat-definíció nyelvének sémahivatkozásában. A munkafolyamat-definíció tartalmaz egy belső parameters deklarációs objektumot, amelyben új vagy meglévő paramétereket határozhat meg a munkafolyamat-definíció által futásidőben használt értékekhez. Ezután hivatkozhat ezekre a paraméterekre a munkafolyamat eseményindítójában vagy műveleteiben. Alapértelmezés szerint ez az parameters objektum üres, hacsak a logikai alkalmazás nem hoz létre kapcsolatokat más szolgáltatásokkal és rendszerekkel felügyelt összekötőkkel.

A munkafolyamat-definíciós paraméterek értékeinek beállításához használja a parameters munkafolyamat-definíción kívül eső, de a logikai alkalmazás erőforrásdefiníciójában lévő objektumot. Ebben a külső parameters objektumban hivatkozhat a korábban deklarált sablonparaméterekre, amelyek egy paraméterfájlból fogadnak el értékeket az üzembe helyezéskor.

Tipp.

Ajánlott eljárásként ne hivatkozzon közvetlenül az üzembe helyezéskor kiértékelt sablonparaméterekre a munkafolyamat-definíción belül. Ehelyett deklaráljon egy munkafolyamat-definíciós paramétert, amelyet aztán a munkafolyamat-definíción kívüli, de a logikai alkalmazás erőforrásdefiníciójában lévő objektumban parametersállíthat be. További információ: Paraméterekre mutató hivatkozások.

Ez a szintaxis azt mutatja be, hogy hol deklarálhat paramétereket mind a sablon, mind a munkafolyamat-definíció szintjén, valamint azt, hogy hol állíthatja be ezeket a paraméterértékeket a sablonra és a munkafolyamat-definíciós paraméterekre hivatkozva:

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

Biztonságos munkafolyamat-definíciós paraméterek

Olyan munkafolyamat-definíciós paraméter esetében, amely futásidőben bizalmas információkat, jelszavakat, hozzáférési kulcsokat vagy titkos kulcsokat kezel, deklarálja vagy szerkessze a paramétert a paraméter vagy secureobject paramétertípus securestring használatához. Ezt a paramétert a munkafolyamat-definíció egészében és belül is hivatkozhatja. A sablon legfelső szintjén deklaráljon egy olyan paramétert, amely ugyanazzal a típussal rendelkezik, hogy az üzembe helyezéskor kezelje ezeket az információkat.

A munkafolyamat-definíciós paraméter értékének beállításához használja a parameters munkafolyamat-definíción kívül eső, de a logikai alkalmazás erőforrás-definíciójában lévő objektumot a sablonparaméterre való hivatkozáshoz. Végül, ha az üzembe helyezéskor át szeretné adni az értéket a sablonparaméternek, tárolja ezt az értéket az Azure Key Vaultban, és hivatkozzon arra a kulcstartóra a sablon által az üzembe helyezéskor használt paraméterfájlban.

Ez a példasablon bemutatja, hogyan hajthatja végre ezeket a feladatokat úgy, hogy szükség esetén biztonságos paramétereket határoz meg, hogy az értékeiket az Azure Key Vaultban tárolhassa:

  • Biztonságos paraméterek deklarálása a hozzáférés hitelesítéséhez használt értékekhez.
  • Ezeket az értékeket a sablon és a munkafolyamat-definíció szintjén is használhatja.
  • Adja meg ezeket az értékeket paraméterfájl használatával.

Sablon

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

Paraméterfájl

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

Ajánlott eljárások – munkafolyamat-definíciós paraméterek

Annak érdekében, hogy a Logic App Designer megfelelően tudja megjeleníteni a munkafolyamat-definíció paramétereit, kövesse az alábbi ajánlott eljárásokat:

A munkafolyamat-definíciós paraméterekkel kapcsolatos további információkért tekintse meg a Paraméterek – Munkafolyamat-definíció nyelve című témakört.

Kapcsolati erőforrás-definíciók

Amikor a logikai alkalmazás felügyelt összekötők használatával hoz létre és használ kapcsolatokat más szolgáltatásokhoz és rendszerekhez, a sablon objektuma resources tartalmazza a kapcsolatok erőforrás-definícióit. Bár egy logikai alkalmazásból hoz létre kapcsolatokat, a kapcsolatok különálló Azure-erőforrások, saját erőforrásdefiníciókkal. Ha a kapcsolat helyszíni adatátjáró-erőforrást használ, ez az erőforrásdefiníció az összekötő erőforrásdefiníciójától külön létezik. További információ: Helyszíni adatátjárók erőforrásdefiníciói és Microsoft.Web connectionGateways.

A kapcsolati erőforrás-definíciók áttekintéséhez töltse le a logikai alkalmazást az Azure-ból a Visual Studióba, amely a legegyszerűbb módja annak, hogy létrehozzon egy érvényes paraméteres logikai alkalmazássablont, amely többnyire üzembe helyezésre kész.

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

A kapcsolati erőforrás-definíciók hivatkoznak a sablon legfelső szintű paramétereire az értékükhöz, így ezeket az értékeket az üzembe helyezéskor egy paraméterfájl használatával adhatja meg. Győződjön meg arról, hogy a kapcsolatok ugyanazt az Azure-erőforráscsoportot és helyet használják, mint a logikai alkalmazás.

Íme egy példa erőforrásdefiníció egy Office 365 Outlook-kapcsolathoz és a megfelelő sablonparaméterekhez:

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

A logikai alkalmazás erőforrásdefiníciója a kapcsolati erőforrás-definíciókkal is működik az alábbi módokon:

  • A munkafolyamat-definíción belül az parameters objektum deklarál egy paramétert $connections a logikai alkalmazás futtatókörnyezetében használandó kapcsolati értékekhez. Emellett a kapcsolatot létrehozó eseményindító vagy művelet a paraméteren áthaladó $connections megfelelő értékeket használja.

  • A munkafolyamat-definíción kívül, de még mindiga logikai alkalmazás erőforrásdefiníciójában egy másik parameters objektum állítja be a paraméter futásidejű értékeit a $connections megfelelő sablonparaméterekre való hivatkozással. Ezek az értékek sablonkifejezésekkel hivatkoznak azokra az erőforrásokra, amelyek biztonságosan tárolják a logikai alkalmazásban lévő kapcsolatok metaadatait.

    A metaadatok tartalmazhatnak például kapcsolati sztring és hozzáférési jogkivonatokat, amelyeket az Azure Key Vaultban tárolhat. Ha ezeket az értékeket át szeretné adni a sablon paramétereinek, hivatkozzon arra a kulcstartóra a sablon által az üzembe helyezéskor használt paraméterfájlban . A hivatkozási paraméterek különbségeiről a jelen témakör későbbi, paraméterekre mutató hivatkozásai című szakaszában talál további információt.

    Amikor kódnézetben nyitja meg a logikai alkalmazás munkafolyamat-definícióját az Azure Portalon vagy a Visual Studióban, az objektum a $connections munkafolyamat-definíción kívül, de ugyanazon a szinten jelenik meg. Ez a kódnézetben történő rendezés megkönnyíti a paraméterek hivatkozását a munkafolyamat-definíció manuális frissítésekor:

    {
       "$connections": {<workflow-definition-parameter-connection-values-runtime},
       "definition": {<workflow-definition>}
    }
    
  • A logikai alkalmazás erőforrásdefiníciója egy dependsOn objektummal rendelkezik, amely meghatározza a logikai alkalmazás által használt kapcsolatok függőségeit.

Minden létrehozott kapcsolatnak egyedi neve van az Azure-ban. Ha több kapcsolatot hoz létre ugyanahhoz a szolgáltatáshoz vagy rendszerhez, a rendszer minden kapcsolatnevet hozzáfűz egy számhoz, amely a létrehozott új kapcsolatok számával növekszik, példáuloffice365office365-1, stb.

Ez a példa a logikai alkalmazás erőforrásdefiníciója és az Office 365 Outlook kapcsolati erőforrásdefiníciója közötti interakciókat mutatja be:

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

Helyszíni adatátjáró erőforrásdefiníciói

Ha a kapcsolat helyszíni adatátjáró-erőforrást használ, ez az erőforrásdefiníció külön létezik az összekötő erőforrásdefiníciójától. Az adatátjáró erőforrásdefiníciójának megtekintéséhez kövesse az alábbi lépéseket:

  1. Az Azure Portalon keresse meg és tekintse meg a helyszíni adatátjáróHoz tartozó Azure-erőforrást.

  2. Az erőforrásmenü Automation területén válassza az Exportálás sablon lehetőséget.

    Miután az Azure létrehozta a sablont, az átjáró erőforrásdefiníciója megjelenik a kódablakban.

További információ: Microsoft.Web connectionGateways.

Biztonságos kapcsolati paraméterek

A bizalmas információkat, jelszavakat, hozzáférési kulcsokat vagy titkos kulcsokat kezelő kapcsolatparaméterek esetében a kapcsolat erőforrásdefiníciója tartalmaz egy parameterValues objektumot, amely név-érték pár formátumban adja meg ezeket az értékeket. Az információk elrejtéséhez deklarálhatja vagy szerkesztheti ezeknek az értékeknek a sablonparamétereit a vagy secureobject paramétertípusok securestring használatával. Ezután ezeket az adatokat az Azure Key Vaultban tárolhatja. Ha ezeket az értékeket át szeretné adni a sablon paramétereinek, hivatkozzon arra a kulcstartóra a sablon által az üzembe helyezéskor használt paraméterfájlban .

Íme egy példa, amely egy Azure Blob Storage-kapcsolat fióknevét és hozzáférési kulcsát tartalmazza:

Paraméterfájl

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

Sablon

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

Kapcsolatok hitelesítése

Az üzembe helyezés után a logikai alkalmazás a végpontok között működik érvényes paraméterekkel. Azonban továbbra is engedélyeznie kell az OAuth-kapcsolatokat, hogy érvényes hozzáférési jogkivonatokat hozzon létre a hitelesítő adatok hitelesítéséhez. További információ: OAuth-kapcsolatok engedélyezése.

Egyes kapcsolatok támogatják a Microsoft Entra szolgáltatásnév használatát a Microsoft Entra-azonosítóban regisztrált logikai alkalmazások kapcsolatainak engedélyezéséhez. Ez az Azure Data Lake-kapcsolati erőforrásdefiníció például bemutatja, hogyan hivatkozhat a szolgáltatásnév adatait kezelő sablonparaméterekre, és hogyan deklarálja a sablon ezeket a paramétereket:

Kapcsolati erőforrás definíciója

{
   <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')]"
      }
   }
}
Attribútum Leírás
token:clientId A szolgáltatásnévhez társított alkalmazás vagy ügyfélazonosító
token:clientSecret A szolgáltatásnévhez társított kulcsérték
token:TenantId A Microsoft Entra-bérlő címtárazonosítója
token:grantType A kért támogatási típusnak kell lennie client_credentials. További információ: Microsoft Identitásplatform és az OAuth 2.0 ügyfél hitelesítő adatainak folyamata.

Sablonparaméter-definíciók

A sablon legfelső szintű parameters objektuma deklarálja ezeket a paramétereket a példakapcsolathoz:

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

A szolgáltatásnevek használatáról az alábbi témakörökben talál további információt:

Paraméterekre mutató hivatkozások

Sablonparaméterekre hivatkozva sablonkifejezéseket használhat sablonfüggvényekkel, amelyeket az üzembe helyezéskor értékelnek ki. A sablonkifejezések szögletes zárójeleket használnak ([]):

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

A munkafolyamat-definíciós paraméterekre való hivatkozáshoz munkafolyamat-definíciós nyelvi kifejezéseket és függvényeket kell használnia, amelyek futásidőben lesznek kiértékelve. Előfordulhat, hogy egyes sablonfüggvények és munkafolyamat-definíciós függvények neve megegyezik. A munkafolyamat-definíciós kifejezések az "at" (at) szimbólummal kezdődnek:@

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

A sablonparaméter-értékeket átadhatja a logikai alkalmazás futtatókörnyezetben használni kívánt munkafolyamat-definíciójának. Kerülje azonban a sablonparaméterek, kifejezések és szintaxis használatát a munkafolyamat-definícióban, mert a Logic App Designer nem támogatja a sablonelemeket. Emellett a sablonszintaxis és a kifejezések bonyolíthatják a kódot a kifejezések kiértékelésének különbségei miatt.

Ehelyett kövesse ezeket az általános lépéseket a futtatókörnyezetben használandó munkafolyamat-definíciós paraméterek deklarálásához és hivatkozásához, az üzembe helyezéskor használandó sablonparaméterek deklarálásához és hivatkozásához, valamint az üzembe helyezéskor átadott értékek paraméterfájllal történő megadásához. További részletekért tekintse meg a témakör korábbi munkafolyamat-definícióját és paramétereit ismertető szakaszt.

  1. Hozza létre a sablont, és deklarálja azoknak az értékeknek a sablonparamétereit, amelyet az üzembe helyezéskor el kell fogadnia és használnia.

  2. A munkafolyamat-definícióban deklarálja a futásidőben elfogadandó és használható értékek paramétereit. Ezután hivatkozhat ezekre az értékekre a munkafolyamat-definícióban és a teljes folyamaton belül.

  3. parameters A munkafolyamat-definíción kívül eső, de a logikai alkalmazás erőforrásdefiníciójában lévő objektumban állítsa be a munkafolyamat-definíció paramétereinek értékeit a megfelelő sablonparaméterekre való hivatkozással. Így sablonparaméter-értékeket adhat át a munkafolyamat-definíció paramétereinek.

  4. A paraméterfájlban adja meg a sablon üzembe helyezéskor használandó értékeit.

Teljes példasablon

Íme a témakör példái által használt paraméteres mintasablon:

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

Következő lépések