Overzicht: de implementatie voor Azure Logic Apps automatiseren met behulp van Azure Resource Manager sjablonenOverview: Automate deployment for Azure Logic Apps by using Azure Resource Manager templates

Wanneer u klaar bent om het maken en implementeren van uw logische app te automatiseren, kunt u de onderliggende werk stroom definitie van uw logische app uitbreiden naar een Azure Resource Manager sjabloon.When you're ready to automate creating and deploying your logic app, you can expand your logic app's underlying workflow definition into an Azure Resource Manager template. Met deze sjabloon worden de infra structuur, bronnen, para meters en andere gegevens gedefinieerd voor het inrichten en implementeren van uw logische app.This template defines the infrastructure, resources, parameters, and other information for provisioning and deploying your logic app. Door para meters te definiëren voor waarden die variëren tijdens de implementatie, ook wel bekend als parameterizing, kunt u regel matig Logic Apps implementeren op basis van verschillende implementatie behoeften.By defining parameters for values that vary at deployment, also known as parameterizing, you can repeatedly and consistently deploy logic apps based on different deployment needs.

Als u bijvoorbeeld in omgevingen implementeert voor ontwikkeling, testen en productie, gebruikt u waarschijnlijk verschillende verbindings reeksen voor elke omgeving.For example, if you deploy to environments for development, test, and production, you likely use different connection strings for each environment. U kunt sjabloon parameters declareren die verschillende verbindings reeksen accepteren en deze teken reeksen vervolgens opslaan in een afzonderlijk parameter bestand.You can declare template parameters that accept different connection strings and then store those strings in a separate parameters file. Op die manier kunt u deze waarden wijzigen zonder dat u de sjabloon hoeft bij te werken en opnieuw te implementeren.That way, you can change those values without having to update and redeploy the template. Voor scenario's waarbij u parameter waarden hebt die gevoelig zijn of moeten worden beveiligd, zoals wacht woorden en geheimen, kunt u deze waarden opslaan in Azure Key Vault en uw para meters bestand laten ophalen die waarden bevatten.For scenarios where you have parameter values that are sensitive or must be secured, such as passwords and secrets, you can store those values in Azure Key Vault and have your parameters file retrieve those values. In deze scenario's zou u echter opnieuw implementeren om de huidige waarden op te halen.However, in these scenarios, you'd redeploy to retrieve the current values.

In dit overzicht worden de kenmerken van een resource manager-sjabloon beschreven die een werk stroom definitie van een logische app bevat.This overview describes the attributes in a Resource Manager template that includes a logic app workflow definition. Zowel de sjabloon als uw werk stroom definitie gebruiken JSON-syntaxis, maar er zijn enkele verschillen, omdat de definitie van de werk stroom ook het taal schema voor de werk stroom definitievolgt.Both the template and your workflow definition use JSON syntax, but some differences exist because the workflow definition also follows the Workflow Definition Language schema. Sjabloon expressies en werk stroom definitie-expressies verschillen bijvoorbeeld in de manier waarop ze verwijzen naar para meters en de waarden die ze kunnen accepteren.For example, template expressions and workflow definition expressions differ in how they reference parameters and the values that they can accept.

Tip

Voor de eenvoudigste manier om een geldige sjabloon voor logische apps met para meters te maken die het meest geschikt is voor implementatie, gebruikt u Visual Studio (gratis Community-editie of hoger) en de Azure Logic Apps-Hulpprogram Ma's voor Visual Studio.For the easiest way to get a valid parameterized logic app template that's mostly ready for deployment, use Visual Studio (free Community edition or greater) and the Azure Logic Apps Tools for Visual Studio. U kunt vervolgens uw logische app maken in Visual Studio of een bestaande logische app van Azure naar Visual Studio downloaden.You can then either create your logic app in Visual Studio or find and download an existing logic app from Azure into Visual Studio.

U kunt ook sjablonen voor logische apps maken met behulp van Azure PowerShell met de module LogicAppTemplate.Or, you can create logic app templates by using Azure PowerShell with the LogicAppTemplate module.

In de logische app voor voor beelden in dit onderwerp wordt gebruikgemaakt van een Office 365 Outlook-trigger die wordt geactiveerd wanneer er een nieuwe e-mail binnenkomt en een Azure Blob Storage actie die een BLOB maakt voor de hoofd tekst van het e-mail bericht en die BLOB uploadt naar een Azure storage-container.The example logic app in this topic uses an Office 365 Outlook trigger that fires when a new email arrives and an Azure Blob Storage action that creates a blob for the email body and uploads that blob to an Azure storage container. In de voor beelden ziet u ook hoe u waarden para meters die variëren tijdens de implementatie.The examples also show how to parameterize values that vary at deployment.

Zie de volgende onderwerpen voor meer informatie over Resource Manager-sjablonen:For more information about Resource Manager templates, see these topics:

Voor voor beelden van Logic app-sjablonen raadpleegt u deze voor beelden:For sample logic app templates, see these examples:

Zie resource typen van micro soft. Logicvoor sjabloon resource gegevens die specifiek zijn voor Logic apps, integratie accounts en integratie-account artefacten.For template resource information specific to logic apps, integration accounts, and integration account artifacts, see Microsoft.Logic resource types.

SjabloonstructuurTemplate structure

Op het hoogste niveau volgt een resource manager-sjabloon deze structuur, die volledig wordt beschreven in het onderwerp Azure Resource Manager sjabloon structuur en syntaxis :At the top level, a Resource Manager template follows this structure, which is fully described in the Azure Resource Manager template structure and syntax topic:

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

Voor een sjabloon voor een logische app werkt u voornamelijk met deze sjabloon objecten:For a logic app template, you primarily work with these template objects:

KenmerkAttribute BeschrijvingDescription
parameters Declareert de sjabloon parameters voor het accepteren van de waarden die moeten worden gebruikt bij het maken en aanpassen van resources voor implementatie in Azure.Declares the template parameters for accepting the values to use when creating and customizing resources for deployment in Azure. Deze para meters accepteren bijvoorbeeld de waarden voor de naam en locatie, verbindingen en andere resources die nodig zijn voor de implementatie van uw logische app.For example, these parameters accept the values for your logic app's name and location, connections, and other resources necessary for deployment. U kunt deze parameter waarden opslaan in een parameter bestand, dat later in dit onderwerp wordt beschreven.You can store these parameter values in a parameters file, which is described later in this topic. Zie para meters-Resource Manager-sjabloon structuur en syntaxisvoor algemene informatie.For general details, see Parameters - Resource Manager template structure and syntax.
resources Definieert de resources voor het maken of bijwerken en implementeren van een Azure-resource groep, zoals uw logische app, verbindingen, Azure Storage-accounts, enzovoort.Defines the resources to create or update and deploy to an Azure resource group, such as your logic app, connections, Azure storage accounts, and so on. Zie voor algemene informatie bronnen-Resource Manager-sjabloon structuur en-syntaxis.For general details, see Resources - Resource Manager template structure and syntax.

De logische app-sjabloon maakt gebruik van de volgende bestands indeling:Your logic app template uses this file name format:

<Logic-app-name>. json<logic-app-name>.json

Belangrijk

De sjabloon syntaxis is hoofdletter gevoelig, dus zorg ervoor dat u een consistente behuizing gebruikt.Template syntax is case-sensitive so make sure that you use consistent casing.

SjabloonparametersTemplate parameters

Een sjabloon voor een logische app parameters heeft meerdere objecten die op verschillende niveaus bestaan en die verschillende functies uitvoeren.A logic app template has multiple parameters objects that exist at different levels and perform different functions. U kunt bijvoorbeeld op het hoogste niveau sjabloon parameters declareren voor de waarden die u tijdens de implementatie wilt accepteren en gebruiken bij het maken en implementeren van resources in azure, bijvoorbeeld:For example, at the top level, you can declare template parameters for the values to accept and use at deployment when creating and deploying resources in Azure, for example:

  • Uw logische appYour logic app

  • Verbindingen die uw logische toepassingen gebruiken om toegang te krijgen tot andere services en systemen via beheerde connectorsConnections that your logic uses to access other services and systems through managed connectors

  • Andere resources die door uw logische app moeten worden geïmplementeerdOther resources that your logic app needs for deployment

    Als uw logische app bijvoorbeeld gebruikmaakt van een integratie account voor Business-to-Business (B2B)-scenario's, declareert het object op het parameters hoogste niveau van de sjabloon de para meter waarmee de resource-id voor het integratie account wordt geaccepteerd.For example, if your logic app uses an integration account for business-to-business (B2B) scenarios, the template's top-level parameters object declares the parameter that accepts the resource ID for that integration account.

Hier volgt de algemene structuur en syntaxis voor een parameter definitie, die volledig wordt beschreven door para meters-Resource Manager-sjabloon structuur en syntaxis:Here is the general structure and syntax for a parameter definition, which is fully described by Parameters - Resource Manager template structure and syntax:

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

In dit voor beeld worden alleen de sjabloon parameters weer gegeven voor de waarden die worden gebruikt voor het maken en implementeren van deze resources in Azure:This example shows just the template parameters for the values used to create and deploy these resources in Azure:

  • Naam en locatie voor uw logische appName and location for your logic app
  • ID die moet worden gebruikt voor een integratie account dat is gekoppeld aan de logische appID to use for an integration account that's linked to the logic app
{
   "$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": {}
}

Met uitzonde ring van para meters die gevoelige waarden verwerken of moeten worden beveiligd, zoals gebruikers namen, wacht woorden en geheimen, bevatten defaultValue alle deze para meters kenmerken, hoewel in sommige gevallen de standaard waarden leeg zijn.Except for parameters that handle values that are sensitive or must be secured, such as usernames, passwords, and secrets, all these parameters include defaultValue attributes, although in some cases, the default values are empty values. De implementatie waarden die moeten worden gebruikt voor deze sjabloon parameters worden opgegeven door het voorbeeld parameter bestand dat verderop in dit onderwerp wordt beschreven.The deployment values to use for these template parameters are provided by the sample parameters file described later in this topic.

Zie de volgende onderwerpen voor meer informatie over het beveiligen van sjabloon parameters:For more information about securing template parameters, see these topics:

Andere sjabloon objecten verwijzen vaak naar sjabloon parameters, zodat ze de waarden kunnen gebruiken die de sjabloon parameters door geven, bijvoorbeeld:Other template objects often reference template parameters so that they can use the values that pass through template parameters, for example:

  • Het resources-object van uw sjabloon, dat verderop in dit onderwerp wordt beschreven, definieert elke resource in azure die u wilt maken en implementeren, zoals de resource definitie van de logische app.Your template's resources object, described later in this topic, defines each resource in Azure that you want to create and deploy, such as your logic app's resource definition. Deze resources gebruiken vaak parameter waarden van de sjabloon, zoals de naam en locatie en verbindings gegevens van uw logische app.These resources often use template parameter values, such as your logic app's name and location and connection information.

  • Op een dieper niveau in de resource definitie van de logische app declareert het object para meters van de werk stroom definitie para meters voor de waarden die moeten worden gebruikt bij de runtime van de logische app.At a deeper level in your logic app's resource definition, your workflow definition's parameters object declares parameters for the values to use at your logic app's runtime. U kunt bijvoorbeeld para meters voor de werk stroom definitie declareren voor de gebruikers naam en het wacht woord die een HTTP-trigger gebruikt voor verificatie.For example, you can declare workflow definition parameters for the username and password that an HTTP trigger uses for authentication. Als u de waarden voor de para meters voor de parameters werk stroom definitie wilt opgeven, gebruikt u het object buiten uw werk stroom definitie, maar nog in de resource definitie van de logische app.To specify the values for workflow definition parameters, use the parameters object that's outside your workflow definition but still inside your logic app's resource definition. In dit buitenste parameters object kunt u verwijzen naar eerder gedeclareerde sjabloon parameters, waarmee waarden kunnen worden geaccepteerd tijdens de implementatie vanuit een parameter bestand.In this outer parameters object, you can reference previously declared template parameters, which can accept values at deployment from a parameters file.

Bij het verwijzen naar para meters, gebruiken sjabloon expressies en-functies een andere syntaxis en gedragen zich anders dan expressies en functies van de werk stroom definitie.When referencing parameters, template expressions and functions use different syntax and behave differently from workflow definition expressions and functions. Zie verwijzingen naar para meters verderop in dit onderwerp voor meer informatie over deze verschillen.For more information about these differences, see References to parameters later in this topic.

Aanbevolen procedures-sjabloon parametersBest practices - template parameters

Hier volgen enkele aanbevolen procedures voor het definiëren van para meters:Here are some best practices for defining parameters:

  • Declareer alleen para meters voor waarden die variëren, afhankelijk van uw implementatie behoeften.Declare parameters only for values that vary, based on your deployment needs. Declareer geen para meters voor waarden die hetzelfde blijven in verschillende implementatie vereisten.Don't declare parameters for values that stay the same across different deployment requirements.

  • Neem het defaultValue kenmerk op, waarmee lege waarden kunnen worden opgegeven voor alle para meters, met uitzonde ring van waarden die gevoelig zijn of moeten worden beveiligd.Include the defaultValue attribute, which can specify empty values, for all parameters except for values that are sensitive or must be secured. Gebruik altijd beveiligde para meters voor gebruikers namen, wacht woorden en geheimen.Always use secured parameters for user names, passwords, and secrets. Volg de richt lijnen in de volgende onderwerpen om gevoelige parameter waarden te verbergen of te beveiligen:To hide or protect sensitive parameter values, follow the guidance in these topics:

  • Als u de namen van sjabloon parameters wilt onderscheiden van para meters van werk stroom definities, kunt u beschrijvende sjabloon parameter namen gebruiken, bijvoorbeeld:TemplateFabrikamPasswordTo differentiate template parameter names from workflow definition parameter names, you can use descriptive template parameter names, for example: TemplateFabrikamPassword

Zie Aanbevolen procedures voor sjabloon parametersvoor meer aanbevolen procedures voor sjablonen.For more template best practices, see Best practices for template parameters.

Sjabloon parameter bestandTemplate parameters file

Als u de waarden voor sjabloon parameters wilt opgeven, slaat u deze waarden op in een parameter bestand.To provide the values for template parameters, store those values in a parameters file. Op die manier kunt u verschillende parameter bestanden gebruiken op basis van uw implementatie behoeften.That way, you can use different parameters files based on your deployment needs. Dit is de indeling van de bestands naam die moet worden gebruikt:Here is the file name format to use:

  • Bestands naam van sjabloon van logische app: ** < Logic-app-name>. json**Logic app template file name: <logic-app-name>.json
  • Bestands naam van de para meters: ** < Logic-app-name>. para meters. json**Parameters file name: <logic-app-name>.parameters.json

Hier volgt de structuur in het parameter bestand, met daarin een sleutel kluis referentie voor het door geven van een beveiligde parameter waarde met Azure Key Vault:Here is the structure inside the parameters file, which includes a key vault reference for passing a secured parameter value with 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>
   }
}

In dit voorbeeld parameter bestand worden de waarden opgegeven voor de sjabloon parameters die eerder in dit onderwerp zijn gedeclareerd:This example parameters file specifies the values for the template parameters declared earlier in this topic:

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

SjabloonresourcesTemplate resources

Uw sjabloon heeft een resources -object. Dit is een matrix die definities bevat voor elke resource die u wilt maken en implementeren in azure, zoals de resource definitie van de logische app, eventuele verbindings bron definitiesen andere bronnen die uw logische app nodig heeft voor de implementatie.Your template has a resources object, which is an array that contains definitions for each resource to create and deploy in Azure, such as your logic app's resource definition, any connection resource definitions, and any other resources that your logic app needs for deployment.

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

Notitie

Sjablonen kunnen resource definities bevatten voor meerdere Logic apps. Zorg er dus voor dat alle logische app-resources dezelfde Azure-resource groep opgeven.Templates can include resource definitions for multiple logic apps, so make sure that all your logic app resources specify the same Azure resource group. Wanneer u de sjabloon implementeert in een Azure-resource groep met behulp van Visual Studio, wordt u gevraagd welke logische app u wilt openen.When you deploy the template to an Azure resource group by using Visual Studio, you're prompted for which logic app that you want to open. Het is ook mogelijk dat uw Azure-resource groep-project meer dan één sjabloon bevat. Zorg er dus voor dat u het juiste parameter bestand selecteert wanneer u hierom wordt gevraagd.Also, your Azure resource group project can contain more than one template, so make sure that you select the correct parameters file when prompted.

Zie de volgende onderwerpen voor algemene informatie over sjabloon bronnen en hun kenmerken:For general information about template resources and their attributes, see these topics:

Resource definitie van Logic appLogic app resource definition

De resource definitie van de logische app begint met properties het object, dat deze informatie bevat:Your logic app's resource definition starts with the properties object, which includes this information:

  • De status van uw logische app tijdens de implementatieYour logic app's state at deployment
  • De ID voor een integratie account dat wordt gebruikt door uw logische appThe ID for any integration account used by your logic app
  • De werk stroom definitie van uw logische appYour logic app's workflow definition
  • Een parameters object waarmee de waarden worden ingesteld die tijdens runtime worden gebruiktA parameters object that sets the values to use at runtime
  • Andere resource gegevens over uw logische app, zoals naam, type, locatie, enzovoortOther resource information about your logic app, such as name, type, location, and so on
{
   "$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": {}
         },
         "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": {}
}

Dit zijn de kenmerken die specifiek zijn voor de resource definitie van de logische app:Here are the attributes that are specific to your logic app resource definition:

KenmerkAttribute VereistRequired TypeType BeschrijvingDescription
state JaYes TekenreeksString De status van uw logische app bij implementatie Enabled waarbij uw logische app Live is en Disabled betekent dat uw logische app niet actief is.Your logic app's state at deployment where Enabled means your logic app is live and Disabled means that your logic app is inactive. Als u bijvoorbeeld niet klaar bent voor uw logische app om live te gaan, maar een concept versie wilt implementeren, kunt u de Disabled optie gebruiken.For example, if you're not ready for your logic app to go live but want to deploy a draft version, you can use the Disabled option.
integrationAccount NeeNo ObjectObject Als uw logische app een integratie account gebruikt dat artefacten voor Business-to-Business-scenario's (B2B) opslaat, bevat dit object het id kenmerk, waarmee de id voor het integratie account wordt opgegeven.If your logic app uses an integration account, which stores artifacts for business-to-business (B2B) scenarios, this object includes the id attribute, which specifies the ID for the integration account.
definition JaYes ObjectObject De onderliggende werk stroom definitie van uw logische app, die hetzelfde is als het object dat wordt weer gegeven in de code weergave, en dat volledig wordt beschreven in het onderwerp schema verwijzing voor werk stroom definitie taal .Your logic app's underlying workflow definition, which is the same object that appears in code view and is fully described in the Schema reference for Workflow Definition Language topic. In deze werk stroom definitie declareert het parameters object para meters voor de waarden die moeten worden gebruikt in de runtime van de logische app.In this workflow definition, the parameters object declares parameters for the values to use at logic app runtime. Zie werk stroom definitie en-para metersvoor meer informatie.For more information, see Workflow definition and parameters.

Als u de kenmerken in de werk stroom definitie van de logische app wilt weer geven, schakelt u over naar de code weergave in de Azure Portal of Visual Studio of gebruikt u een hulp programma zoals Azure resource Explorer.To view the attributes in your logic app's workflow definition, switch from "design view" to "code view" in the Azure portal or Visual Studio, or by using a tool such as Azure Resource Explorer.

parameters NeeNo ObjectObject De waarden van de werk stroom definitie parameter die moeten worden gebruikt tijdens de runtime van de logische app.The workflow definition parameter values to use at logic app runtime. De parameter definities voor deze waarden worden weer gegeven in het Parameter object van uw werk stroom definitie.The parameter definitions for these values appear inside your workflow definition's parameters object. Als uw logische app beheerde connectors gebruikt voor toegang tot andere services en systemen, bevat dit object ook $connections een object waarmee de verbindings waarden worden ingesteld die tijdens runtime worden gebruikt.Also, if your logic app uses managed connectors for accessing other services and systems, this object includes a $connections object that sets the connection values to use at runtime.
accessControl NeeNo ObjectObject Voor het opgeven van beveiligings kenmerken voor uw logische app, zoals het beperken van IP-toegang tot het aanvragen van triggers of het uitvoeren van de invoer en uitvoer van de geschiedenis.For specifying security attributes for your logic app, such as restricting IP access to request triggers or run history inputs and outputs. Zie veilige toegang tot Logic appsvoor meer informatie.For more information, see Secure access to logic apps.

Zie resource typen van micro soft. Logicvoor sjabloon resource gegevens die specifiek zijn voor Logic apps, integratie accounts en integratie-account artefacten.For template resource information specific to logic apps, integration accounts, and integration account artifacts, see Microsoft.Logic resource types.

Werk stroom definitie en-para metersWorkflow definition and parameters

De werk stroom definitie van uw logische app wordt definition weer gegeven in het object dat properties wordt weer gegeven in het object in de resource definitie van de logische app.Your logic app's workflow definition appears in the definition object, which appears in the properties object inside your logic app's resource definition. Dit definition object is hetzelfde object dat wordt weer gegeven in de code weergave en dat volledig wordt beschreven in het onderwerp schema verwijzing voor werk stroom definitie taal .This definition object is the same object that appears in code view and is fully described in the Schema reference for Workflow Definition Language topic. Uw werk stroom definitie bevat een parameters binnenste declaratie object waar u nieuwe para meters voor de waarden kunt definiëren die worden gebruikt door uw werk stroom definitie tijdens runtime.Your workflow definition includes an inner parameters declaration object where you can define new or edit existing parameters for the values that are used by your workflow definition at runtime. U kunt vervolgens naar deze para meters in de trigger of acties in uw werk stroom verwijzen.You can then reference these parameters inside the trigger or actions in your workflow. Dit parameters object is standaard leeg, tenzij uw logische app verbindingen met andere services en systemen via beheerde connectorsmaakt.By default, this parameters object is empty unless your logic app creates connections to other services and systems through managed connectors.

Als u de waarden voor de para meters voor de parameters werk stroom definitie wilt instellen, gebruikt u het object buiten uw werk stroom definitie, maar nog in de resource definitie van de logische app.To set the values for workflow definition parameters, use the parameters object that's outside your workflow definition but still inside your logic app's resource definition. In dit buitenste parameters object kunt u vervolgens verwijzen naar uw eerder gedeclareerde sjabloon parameters, waarmee waarden kunnen worden geaccepteerd tijdens de implementatie vanuit een parameter bestand.In this outer parameters object, you can then reference your previously declared template parameters, which can accept values at deployment from a parameters file.

Tip

Als best practice, kunt u niet rechtstreeks verwijzen naar sjabloon parameters, die tijdens de implementatie worden geëvalueerd, vanuit de werk stroom definitie.As a best practice, don't directly reference template parameters, which are evaluated at deployment, from inside the workflow definition. Declareer in plaats daarvan een werk stroom definitie parameter, die u vervolgens kunt parameters instellen in het object buiten uw werk stroom definitie, maar nog steeds binnen de resource definitie van de logische app.Instead, declare a workflow definition parameter, which you can then set in the parameters object that's outside your workflow definition but still inside your logic app's resource definition. Zie verwijzingen naar para metersvoor meer informatie.For more information, see References to parameters.

Deze syntaxis laat zien waar u para meters kunt declareren op zowel de sjabloon-als de werk stroom definitie niveaus, waarbij u deze parameter waarden kunt instellen door te verwijzen naar de sjabloon en de para meters van de werk stroom definitie:This syntax shows where you can declare parameters at both the template and workflow definition levels along with where you can set those parameter values by referencing the template and workflow definition parameters:

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

Para meters voor veilige werk stroom definitieSecure workflow definition parameters

Voor een werk stroom definitie parameter die gevoelige informatie, wacht woorden, toegangs sleutels of geheimen verwerkt tijdens runtime, declareert of bewerkt u de para securestring meter secureobject om het-of-parameter type te gebruiken.For a workflow definition parameter that handles sensitive information, passwords, access keys, or secrets at runtime, declare or edit the parameter to use the securestring or secureobject parameter type. U kunt in de definitie van uw werk stroom verwijzen naar deze para meter.You can reference this parameter throughout and within your workflow definition. Op het hoogste niveau van de sjabloon declareert u een para meter met hetzelfde type voor het afhandelen van deze gegevens tijdens de implementatie.At the template's top level, declare a parameter that has the same type to handle this information at deployment.

Als u de waarde voor de para meter voor de werk stroom parameters definitie wilt instellen, gebruikt u het object dat zich buiten uw werk stroom definitie bevindt, maar nog in de resource definitie van de logische app om te verwijzen naar de sjabloon parameter.To set the value for the workflow definition parameter, use the parameters object that's outside your workflow definition but still inside your logic app resource definition to reference the template parameter. Ten slotte, als u de waarde wilt door geven aan de sjabloon parameter tijdens de implementatie, slaat u die waarde op in Azure Key Vault en verwijst u naar die sleutel kluis in het parameter bestand dat wordt gebruikt door uw sjabloon tijdens de implementatie.Finally, to pass the value to your template parameter at deployment, store that value in Azure Key Vault and reference that key vault in the parameters file that's used by your template at deployment.

In deze voorbeeld sjabloon ziet u hoe u deze taken kunt volt ooien door zo nodig beveiligde para meters te definiëren, zodat u hun waarden in Azure Key Vault kunt opslaan:This example template shows how you can complete these tasks by defining secured parameters when necessary so that you can store their values in Azure Key Vault:

  • De beveiligde para meters declareren voor de waarden die worden gebruikt voor het verifiëren van de toegang.Declare secured parameters for the values used to authenticate access.
  • Gebruik deze waarden zowel in de sjabloon als op de definitie niveaus van de werk stroom.Use these values at both the template and workflow definition levels.
  • Geef deze waarden op met behulp van een parameter bestand.Provide these values by using a parameters file.

SjabloonTemplate

{
   "$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": "[parameters('TemplateAuthenticationType')]", // Template parameter reference
               "fabrikamPassword": "[parameters('TemplateFabrikamPassword')]", // Template parameter reference
               "fabrikamUserName": "[parameters('TemplateFabrikamUserName')]" // Template parameter reference
            },
            "accessControl": {}
         },
         <other-logic-app-resource-attributes>
      }
      // End logic app resource definition
   ],
   "outputs": {}
}

Parameter bestandParameters file

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

Aanbevolen procedures-werk stroom definitie parametersBest practices - workflow definition parameters

Volg de volgende aanbevolen procedures om ervoor te zorgen dat de Logic app Designer de para meters voor de werk stroom definitie correct kan weer geven:To make sure that the Logic App Designer can correctly show workflow definition parameters, follow these best practices:

Zie para meters-werk stroom definitie taalvoor meer informatie over para meters voor de werk stroom definitie.For more information about workflow definition parameters, see Parameters - Workflow Definition Language.

Verbindings bron definitiesConnection resource definitions

Wanneer uw logische app verbindingen met andere services en het systeem maakt en gebruikt met beheerde connectors, bevat het resources object van de sjabloon de resource definities voor deze verbindingen.When your logic app creates and uses connections to other services and system by using managed connectors, your template's resources object contains the resource definitions for those connections.

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

Bron definities voor verbindingen verwijzen naar de para meters op het hoogste niveau van de sjabloon voor hun waarden. Dit betekent dat u deze waarden tijdens de implementatie kunt opgeven met behulp van een parameter bestand.Connection resource definitions reference the template's top-level parameters for their values, which means you can provide these values at deployment by using a parameters file. Zorg ervoor dat verbindingen dezelfde Azure-resource groep en-locatie gebruiken als uw logische app.Make sure that connections use the same Azure resource group and location as your logic app.

Hier volgt een voor beeld van een resource definitie voor een Office 365 Outlook-verbinding en de bijbehorende sjabloon parameters:Here is an example resource definition for an Office 365 Outlook connection and the corresponding template parameters:

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

De resource definitie van uw logische app werkt ook op de volgende manieren met verbindings bron definities:Your logic app's resource definition also works with connection resource definitions in these ways:

  • In de definitie van de werk parameters stroom declareert het $connections object een para meter voor de verbindings waarden die moeten worden gebruikt in de runtime van de logische app.Inside your workflow definition, the parameters object declares a $connections parameter for the connection values to use at logic app runtime. De trigger of actie waarmee een verbinding wordt gemaakt, maakt ook gebruik van de overeenkomende waarden die $connections door deze para meter worden door gegeven.Also, the trigger or action that creates a connection uses the corresponding values that pass through this $connections parameter.

  • Buiten uw werk stroom definitie, maar nog steeds binnen de resource definitie van de parameters logische app, stelt een ander object de waarden in $connections die tijdens runtime voor de para meter moeten worden gebruikt door te verwijzen naar de bijbehorende sjabloon parameters.Outside your workflow definition but still inside your logic app's resource definition, another parameters object sets the values to use at runtime for the $connections parameter by referencing the corresponding template parameters. Deze waarden maken gebruik van sjabloon expressies om te verwijzen naar resources die de meta gegevens veilig opslaan voor de verbindingen in uw logische app.These values use template expressions to reference resources that securely store the metadata for the connections in your logic app.

    Meta gegevens kunnen bijvoorbeeld verbindings reeksen en toegangs tokens bevatten, die u in Azure Key Vaultkunt opslaan.For example, metadata can include connection strings and access tokens, which you can store in Azure Key Vault. Als u deze waarden wilt door geven aan de sjabloon parameters, verwijst u naar de sleutel kluis in het parameter bestand dat wordt gebruikt door uw sjabloon tijdens de implementatie.To pass those values to your template parameters, you reference that key vault in the parameters file that's used by your template at deployment. Zie verwijzingen naar para meters verderop in dit onderwerp voor meer informatie over verschillen bij het verwijzen naar para meters.For more information about differences in referencing parameters, see References to parameters later in this topic.

    Wanneer u de werk stroom definitie van de logische app opent in de code weergave via de Azure Portal of Visual $connections Studio, wordt het object buiten de werk stroom definitie weer gegeven, maar op hetzelfde niveau.When you open your logic app's workflow definition in code view through the Azure portal or Visual Studio, the $connections object appears outside your workflow definition but at the same level. Deze volg orde in de code weergave maakt het gemakkelijker om deze para meters te raadplegen wanneer u de werk stroom definitie hand matig bijwerkt:This ordering in code view makes these parameters easier to reference when you manually update the workflow definition:

    {
       "$connections": {<workflow-definition-parameter-connection-values-runtime},
       "definition": {<workflow-definition>}
    }
    
  • De resource definitie van de logische app bevat dependsOn een object dat de afhankelijkheden specificeert op de verbindingen die worden gebruikt door uw logische app.Your logic app's resource definition has a dependsOn object that specifies the dependencies on the connections used by your logic app.

Elke verbinding die u maakt, heeft een unieke naam in Azure.Each connection that you create has a unique name in Azure. Wanneer u meerdere verbindingen met dezelfde service of hetzelfde systeem maakt, wordt elke verbindings naam toegevoegd met een nummer, dat wordt verhoogd met elke nieuwe verbinding die wordt gemaakt, bijvoorbeeld office365 office365-1,, enzovoort.When you create multiple connections to the same service or system, each connection name is appended with a number, which increments with each new connection created, for example, office365, office365-1, and so on.

In dit voor beeld ziet u de interacties tussen de resource definitie van uw logische app en een verbindings bron definitie voor Office 365 Outlook:This example shows the interactions between your logic app's resource definition and a connection resource definition for 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": {}
}

Para meters voor veilige verbindingSecure connection parameters

Voor een verbindings parameter die gevoelige informatie, wacht woorden, toegangs sleutels of geheimen verwerkt, bevat de resource definitie van de verbinding parameterValues een object dat deze waarden specificeert in de notatie naam/waarde-paar.For a connection parameter that handles sensitive information, passwords, access keys, or secrets, the connection's resource definition includes a parameterValues object that specifies these values in name-value pair format. Als u deze informatie wilt verbergen, kunt u de sjabloon parameters voor deze waarden declareren of bewerken securestring met secureobject behulp van de para meters of.To hide this information, you can declare or edit the template parameters for these values by using the securestring or secureobject parameter types. U kunt deze informatie vervolgens opslaan in Azure Key Vault.You can then store that information in Azure Key Vault. Als u deze waarden wilt door geven aan de sjabloon parameters, verwijst u naar de sleutel kluis in het parameter bestand dat wordt gebruikt door uw sjabloon tijdens de implementatie.To pass those values to your template parameters, you reference that key vault in the parameters file that's used by your template at deployment.

Hier volgt een voor beeld waarin de account naam en toegangs sleutel voor een Azure Blob Storage-verbinding worden geboden:Here is an example that provides the account name and access key for an Azure Blob Storage connection:

Parameter bestandParameters file

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

SjabloonTemplate

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

Verbindingen verifiërenAuthenticate connections

Na de implementatie werkt uw logische app end-to-end met geldige para meters.After deployment, your logic app works end-to-end with valid parameters. U moet echter nog steeds OAuth-verbindingen autoriseren om geldige toegangs tokens te genereren voor het verifiëren van uw referenties.However, you must still authorize any OAuth connections to generate valid access tokens for authenticating your credentials. Zie OAuth-verbindingen autoriserenvoor meer informatie.For more information, see Authorize OAuth connections.

Sommige verbindingen bieden ondersteuning voor het gebruik van een service-principal Azure Active Directory (Azure AD) voor het autoriseren van verbindingen voor een logische app die is geregistreerd in azure AD.Some connections support using an Azure Active Directory (Azure AD) service principal to authorize connections for a logic app that's registered in Azure AD. In deze Azure Data Lake bron definitie voor verbinding ziet u bijvoorbeeld hoe u kunt verwijzen naar de sjabloon parameters die de gegevens van de Service-Principal verwerken en hoe de sjabloon deze para meters declareert:For example, this Azure Data Lake connection resource definition shows how to reference the template parameters that handle the service principal's information and how the template declares these parameters:

Bron definitie voor verbindingConnection resource definition

{
   <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')]"
      }
   }
}
KenmerkAttribute BeschrijvingDescription
token:clientId De toepassing of client-ID die is gekoppeld aan uw Service-PrincipalThe application or client ID associated with your service principal
token:clientSecret De sleutel waarde die aan de Service-Principal is gekoppeldThe key value associated with your service principal
token:TenantId De Directory-ID voor uw Azure AD-TenantThe directory ID for your Azure AD tenant
token:grantType Het aangevraagde toekennings type, client_credentialsdat moet zijn.The requested grant type, which must be client_credentials. Zie voor meer informatie micro soft Identity platform en de OAuth 2,0 client credentials flow(Engelstalig).For more information, see Microsoft identity platform and the OAuth 2.0 client credentials flow.

Definitie van sjabloon parametersTemplate parameter definitions

Het object op het hoogste niveau parameters van de sjabloon declareert deze para meters voor de voorbeeld verbinding:The template's top-level parameters object declares these parameters for the example connection:

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

Zie de volgende onderwerpen voor meer informatie over het werken met Service-principals:For more information about working with service principals, see these topics:

Verwijzingen naar para metersReferences to parameters

Als u wilt verwijzen naar sjabloon parameters, kunt u sjabloon expressies gebruiken met sjabloon functies, die tijdens de implementatie worden geëvalueerd.To reference template parameters, you can use template expressions with template functions, which are evaluated at deployment. Sjabloon expressies gebruiken vier Kante haken ([]):Template expressions use square brackets ([]):

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

Als u wilt verwijzen naar para meters voor de werk stroom definitie, gebruikt u de definities en functies van de werk stroom definitie taal, die tijdens runtime worden geëvalueerd.To reference workflow definition parameters, you use Workflow Definition Language expressions and functions, which are evaluated at runtime. U zult merken dat sommige sjabloon functies en werk stroom definitie functies dezelfde naam hebben.You might notice that some template functions and workflow definition functions have the same name. Werk stroom definitie-expressies beginnen met het symbool ' at**@' ():Workflow definition expressions start with the "at" symbol (@**):

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

U kunt sjabloon parameter waarden door geven aan uw werk stroom definitie voor de logische app die tijdens runtime moet worden gebruikt.You can pass template parameter values to your workflow definition for your logic app to use at runtime. Vermijd echter het gebruik van sjabloon parameters, expressies en syntaxis in uw werk stroom definitie omdat de Logic app Designer geen sjabloon elementen ondersteunt.However, avoid using template parameters, expressions, and syntax in your workflow definition because the Logic App Designer doesn't support template elements. Daarnaast kan de sjabloon syntaxis en expressies uw code bemoeilijken vanwege verschillen in wanneer expressies worden geëvalueerd.Also, template syntax and expressions can complicate your code due to differences in when expressions are evaluated.

Volg in plaats daarvan deze algemene stappen om de para meters voor de werk stroom definitie te declareren en te raadplegen die tijdens runtime moeten worden gebruikt, Declareer en referentie de sjabloon parameters die tijdens de implementatie moeten worden gebruikt en geef de waarden op die tijdens de implementatie moeten worden door gegeven met een parameter bestand.Instead, follow these general steps to declare and reference the workflow definition parameters to use at runtime, declare and reference the template parameters to use at deployment, and specify the values to pass in at deployment by using a parameters file. Zie de sectie werk stroom definitie en para meters eerder in dit onderwerp voor meer informatie.For full details, see the Workflow definition and parameters section earlier in this topic.

  1. Maak uw sjabloon en Declareer de sjabloon parameters voor de waarden die u tijdens de implementatie wilt accepteren en gebruiken.Create your template and declare the template parameters for the values to accept and use at deployment.

  2. In de definitie van uw werk stroom declareert u de para meters voor de waarden die moeten worden geaccepteerd en gebruikt tijdens runtime.In your workflow definition, declare the parameters for the values to accept and use at runtime. U kunt vervolgens in de werk stroom definitie naar deze waarden verwijzen.You can then reference these values throughout and within your workflow definition.

  3. In het parameters object dat zich buiten uw werk stroom definitie bevindt maar nog steeds binnen de resource definitie van de logische app, stelt u de waarden voor de para meters voor de werk stroom definitie in door te verwijzen naar de bijbehorende sjabloon parameters.In the parameters object that's outside your workflow definition but still inside your logic app's resource definition, set the values for your workflow definition parameters by referencing the corresponding template parameters. Op die manier kunt u parameter waarden van een sjabloon door geven aan de para meters van de werk stroom definitie.That way, you can pass template parameter values into your workflow definition parameters.

  4. Geef in het parameter bestand de waarden op voor uw sjabloon die tijdens de implementatie moet worden gebruikt.In the parameters file, specify the values for your template to use at deployment.

Volledige voorbeeld sjabloonFull example template

Hier volgt de parameter voorbeeld sjabloon die wordt gebruikt door de voor beelden van dit onderwerp:Here is the parameterized sample template that's used by this topic's examples:

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

Volgende stappenNext steps