Overzicht: Implementatie voor Azure Logic Apps automatiseren met behulp van Azure Resource Manager-sjablonen
Van toepassing op: Azure Logic Apps (verbruik)
Wanneer u klaar bent om het maken en implementeren van uw logische app te automatiseren, kunt u de onderliggende werkstroomdefinitie van uw logische app uitbreiden naar een Azure Resource Manager-sjabloon. Deze sjabloon definieert de infrastructuur, resources, parameters en andere informatie voor het inrichten en implementeren van uw logische app. Door parameters te definiëren voor waarden die variëren tijdens de implementatie, ook wel parameteriseren genoemd, kunt u logische apps herhaaldelijk en consistent implementeren op basis van verschillende implementatiebehoeften.
Als u bijvoorbeeld implementeert in omgevingen voor ontwikkeling, testen en productie, gebruikt u waarschijnlijk verschillende verbindingsreeksen voor elke omgeving. U kunt sjabloonparameters declareren die verschillende verbindingsreeksen accepteren en deze tekenreeksen vervolgens opslaan in een afzonderlijk parameterbestand. Op die manier kunt u deze waarden wijzigen zonder dat u de sjabloon hoeft bij te werken en opnieuw te implementeren. Voor scenario's waarin u parameterwaarden hebt die gevoelig zijn of moeten worden beveiligd, zoals wachtwoorden en geheimen, kunt u deze waarden opslaan in Azure Key Vault en uw parameterbestand deze waarden laten ophalen. In deze scenario's implementeert u echter opnieuw om de huidige waarden op te halen.
In dit overzicht worden de kenmerken beschreven in een Resource Manager sjabloon die een werkstroomdefinitie voor een logische app bevat. Zowel de sjabloon als de werkstroomdefinitie gebruiken JSON-syntaxis, maar er zijn enkele verschillen omdat de werkstroomdefinitie ook het schema Van de werkstroomdefinitietaal volgt. Sjabloonexpressies en werkstroomdefinitieexpressies verschillen bijvoorbeeld in de wijze waarop ze verwijzen naar parameters en de waarden die ze kunnen accepteren.
Tip
Gebruik Visual Studio (gratis Community-editie of hoger) en de Azure Logic Apps Tools for Visual Studio voor de eenvoudigste manier om een geldige sjabloon voor logische apps te krijgen die grotendeels gereed is voor implementatie. Vervolgens kunt u uw logische app maken in Visual Studio of een bestaande logische app van Azure zoeken en downloaden naar Visual Studio.
U kunt ook sjablonen voor logische apps maken met behulp van Azure PowerShell met de module LogicAppTemplate.
De voorbeeldlogica-app in dit onderwerp maakt gebruik van een Office 365 Outlook-trigger die wordt geactiveerd wanneer er een nieuwe e-mail binnenkomt en een Azure Blob Storage actie waarmee een blob voor de hoofdtekst van de e-mail wordt gemaakt en die blob wordt geüpload naar een Azure-opslagcontainer. De voorbeelden laten ook zien hoe u waarden kunt parametriseren die variëren tijdens de implementatie.
Zie de volgende onderwerpen voor meer informatie over Resource Manager sjablonen:
- Azure Resource Manager sjabloonstructuur en -syntaxis
- Best practices voor Azure Resource Manager-sjablonen
- Azure Resource Manager-sjablonen voor consistentie van de cloud ontwikkelen
Zie Microsoft.Logic-resourcetypen voor informatie over sjabloonresources die specifiek zijn voor logische apps, integratieaccountartefacten en integratieserviceomgevingen.
Zie deze voorbeelden voor voorbeelden van logische app-sjablonen:
- Volledige sjabloon die wordt gebruikt voor de voorbeelden van dit onderwerp
- Voorbeeld van een sjabloon voor een logische app in GitHub
Voor de Logic Apps REST API begint u met het overzicht van de Azure Logic Apps REST API.
Sjabloonstructuur
Op het hoogste niveau volgt een Resource Manager sjabloon deze structuur, die volledig wordt beschreven in het onderwerp Azure Resource Manager sjabloonstructuur en syntaxis:
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {},
"variables": {},
"functions": [],
"resources": [],
"outputs": {}
}
Voor een logische app-sjabloon werkt u voornamelijk met deze sjabloonobjecten:
Kenmerk | Beschrijving |
---|---|
parameters |
Declareert de sjabloonparameters voor het accepteren van de waarden die moeten worden gebruikt bij het maken en aanpassen van resources voor implementatie in Azure. Deze parameters accepteren bijvoorbeeld de waarden voor de naam en locatie van uw logische app, verbindingen en andere resources die nodig zijn voor de implementatie. U kunt deze parameterwaarden opslaan in een parameterbestand, dat verderop in dit onderwerp wordt beschreven. Zie Parameters - Resource Manager sjabloonstructuur en syntaxis voor algemene informatie. |
resources |
Definieert de resources die moeten worden gemaakt of bijgewerkt en geïmplementeerd in een Azure-resourcegroep, zoals uw logische app, verbindingen, Azure-opslagaccounts, enzovoort. Zie Resources - Resource Manager sjabloonstructuur en syntaxis voor algemene informatie. |
De sjabloon voor de logische app gebruikt deze bestandsindeling:
<logic-app-name>. Json
Belangrijk
Sjabloonsyntaxis is hoofdlettergevoelig, dus zorg ervoor dat u consistent hoofdlettergebruik gebruikt.
Sjabloonparameters
Een sjabloon voor een logische app heeft meerdere parameters
objecten die op verschillende niveaus bestaan en verschillende functies uitvoeren. Op het hoogste niveau kunt u bijvoorbeeld sjabloonparameters declareren voor de waarden die moeten worden geaccepteerd en gebruikt bij de implementatie bij het maken en implementeren van resources in Azure, bijvoorbeeld:
Uw logische app
Verbindingen die uw logische app gebruikt voor toegang tot andere services en systemen via beheerde connectors
Andere resources die uw logische app nodig heeft voor implementatie
Als uw logische app bijvoorbeeld gebruikmaakt van een integratieaccount voor B2B-scenario's (business-to-business), declareert het object op het hoogste niveau
parameters
van de sjabloon de parameter die de resource-id voor dat integratieaccount accepteert.
Hier volgt de algemene structuur en syntaxis voor een parameterdefinitie, die volledig wordt beschreven door Parameters - Resource Manager sjabloonstructuur en syntaxis:
"<parameter-name>": {
"type": "<parameter-type>",
"defaultValue": <default-parameter-value>,
<other-parameter-attributes>,
"metadata": {
"description": "<parameter-description>"
}
},
In dit voorbeeld ziet u alleen de sjabloonparameters voor de waarden die worden gebruikt voor het maken en implementeren van deze resources in Azure:
- Naam en locatie voor uw logische app
- Id die moet worden gebruikt voor een integratieaccount dat is gekoppeld aan de logische 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 uitzondering van parameters die waarden verwerken die gevoelig zijn of moeten worden beveiligd, zoals gebruikersnamen, wachtwoorden en geheimen, bevatten defaultValue
al deze parameters kenmerken, hoewel in sommige gevallen de standaardwaarden lege waarden zijn. De implementatiewaarden die voor deze sjabloonparameters moeten worden gebruikt, worden verstrekt door het bestand met voorbeeldparameters dat verderop in dit onderwerp wordt beschreven.
Zie de volgende onderwerpen voor meer informatie over het beveiligen van sjabloonparameters:
- Beveiligingsaanbeveling voor sjabloonparameters
- Beveiliging voor sjabloonparameters verbeteren
- Beveiligde parameterwaarden doorgeven met Azure Key Vault
Andere sjabloonobjecten verwijzen vaak naar sjabloonparameters, zodat ze de waarden kunnen gebruiken die sjabloonparameters doorgeven, bijvoorbeeld:
Het resourceobject van uw sjabloon, dat verderop in dit onderwerp wordt beschreven, definieert elke resource in Azure die u wilt maken en implementeren, zoals de resourcedefinitie van uw logische app. Deze resources gebruiken vaak sjabloonparameterwaarden, zoals de naam, locatie en verbindingsgegevens van uw logische app.
Op een dieper niveau in de resourcedefinitie van uw logische app declareert het parameterobject van uw werkstroomdefinitie parameters voor de waarden die moeten worden gebruikt tijdens de runtime van uw logische app. U kunt bijvoorbeeld parameters voor werkstroomdefinitie declareren voor de gebruikersnaam en het wachtwoord die een HTTP-trigger gebruikt voor verificatie. Als u de waarden voor werkstroomdefinitieparameters wilt opgeven, gebruikt u het
parameters
object dat zich buiten de werkstroomdefinitie bevindt, maar nog steeds binnen de resourcedefinitie van uw logische app. In dit buitensteparameters
object kunt u verwijzen naar eerder gedeclareerde sjabloonparameters, die waarden kunnen accepteren bij de implementatie uit een parameterbestand.
Wanneer u naar parameters verwijst, gebruiken sjabloonexpressies en -functies een andere syntaxis en gedragen ze zich anders dan expressies en functies voor werkstroomdefinities. Zie Verwijzingen naar parameters verderop in dit onderwerp voor meer informatie over deze verschillen.
Aanbevolen procedures - sjabloonparameters
Hier volgen enkele aanbevolen procedures voor het definiëren van parameters:
Declareer parameters alleen voor waarden die variëren, afhankelijk van uw implementatiebehoeften. Declareer geen parameters voor waarden die hetzelfde blijven voor verschillende implementatievereisten.
Neem het
defaultValue
kenmerk op, waarmee lege waarden kunnen worden opgegeven, voor alle parameters, met uitzondering van waarden die gevoelig zijn of moeten worden beveiligd. Gebruik altijd beveiligde parameters voor gebruikersnamen, wachtwoorden en geheimen. Volg de richtlijnen in deze onderwerpen om gevoelige parameterwaarden te verbergen of te beveiligen:Als u namen van sjabloonparameters wilt onderscheiden van namen van werkstroomdefinitieparameters, kunt u beschrijvende sjabloonparameternamen gebruiken, bijvoorbeeld:
TemplateFabrikamPassword
Zie Aanbevolen procedures voor sjabloonparameters voor meer aanbevolen procedures voor sjablonen.
Sjabloonparametersbestand
Als u de waarden voor sjabloonparameters wilt opgeven, slaat u deze waarden op in een parameterbestand. Op die manier kunt u verschillende parametersbestanden gebruiken op basis van uw implementatiebehoeften. Dit is de bestandsindeling die moet worden gebruikt:
- Bestandsnaam van sjabloon voor logische app: <logic-app-name.json>
- Bestandsnaam van parameters: <logic-app-name.parameters.json>
Dit is de structuur in het parameterbestand, dat een sleutelkluisreferentie bevat voor het doorgeven van een beveiligde parameterwaarde met 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 van het parameterbestand worden de waarden opgegeven voor de sjabloonparameters die eerder in dit onderwerp zijn gedeclareerd:
{
"$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"
}
}
}
Sjabloonresources
Uw sjabloon heeft een resources
-object. Dit is een matrix die definities bevat voor elke resource die moet worden gemaakt en geïmplementeerd in Azure, zoals de resourcedefinitie van uw logische app, verbindingsresourcedefinities en andere resources die uw logische app nodig heeft voor implementatie.
{
"$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 resourcedefinities voor meerdere logische apps bevatten, dus zorg ervoor dat al uw logische app-resources dezelfde Azure-resourcegroep opgeven. Wanneer u de sjabloon implementeert in een Azure-resourcegroep met behulp van Visual Studio, wordt u gevraagd welke logische app u wilt openen. Uw Azure-resourcegroepproject kan ook meer dan één sjabloon bevatten, dus zorg ervoor dat u het juiste parameterbestand selecteert wanneer u hierom wordt gevraagd.
Resourcedefinities weergeven
Als u de resourcedefinities voor alle resources in een Azure-resourcegroep wilt controleren, downloadt u uw logische app van Azure naar Visual Studio. Dit is de eenvoudigste manier om een geldige sjabloon voor een logische app met parameters te maken die grotendeels gereed is voor implementatie.
Zie de volgende onderwerpen voor algemene informatie over sjabloonresources en de bijbehorende kenmerken:
- Resources - Resource Manager sjabloonstructuur en syntaxis
- Aanbevolen procedures voor sjabloonresources
Resourcedefinitie van logische app
De werkstroomresourcedefinitie van uw logische app in een sjabloon begint met het properties
-object, dat deze informatie bevat:
- De status van uw logische app tijdens de implementatie
- De id voor een integratieaccount dat wordt gebruikt door uw logische app
- De werkstroomdefinitie van uw logische app
- Een
parameters
object waarmee de waarden worden ingesteld die tijdens runtime moeten worden gebruikt - Andere resourcegegevens over uw logische app, zoals naam, type, locatie, eventuele runtimeconfiguratie-instellingen, enzovoort
{
"$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": {}
}
Dit zijn de kenmerken die specifiek zijn voor de resourcedefinitie van uw logische app:
Kenmerk | Vereist | Type | Beschrijving |
---|---|---|---|
state |
Ja | Tekenreeks | De status van uw logische app tijdens de implementatie Enabled betekent dat uw logische app live is en Disabled betekent dat uw logische app inactief is. Als u bijvoorbeeld nog niet klaar bent om uw logische app live te laten gaan, maar wel een conceptversie wilt implementeren, kunt u de Disabled optie gebruiken. |
integrationAccount |
No | Object | Als uw logische app gebruikmaakt van een integratieaccount, waarin artefacten voor B2B-scenario's (business-to-business) worden opgeslagen, bevat dit object het id kenmerk, waarmee de id voor het integratieaccount wordt opgegeven. |
definition |
Ja | Object | De onderliggende werkstroomdefinitie van uw logische app. Dit is hetzelfde object dat wordt weergegeven in de codeweergave en wordt volledig beschreven in het onderwerp Schemaverwijzing voor Werkstroomdefinitietaal . In deze werkstroomdefinitie declareert het parameters -object parameters voor de waarden die moeten worden gebruikt tijdens de runtime van de logische app. Zie Werkstroomdefinitie en -parameters voor meer informatie. Als u de kenmerken in de werkstroomdefinitie van uw logische app wilt weergeven, schakelt u over van 'ontwerpweergave' naar 'codeweergave' in de Azure Portal of Visual Studio, of met behulp van een hulpprogramma zoals Azure Resource Explorer. |
parameters |
No | Object | De parameterwaarden voor de werkstroomdefinitie die moeten worden gebruikt tijdens de runtime van de logische app. De parameterdefinities voor deze waarden worden weergegeven in het parameterobject van uw werkstroomdefinitie. Als uw logische app beheerde connectors gebruikt voor toegang tot andere services en systemen, bevat dit object ook een $connections object waarmee de verbindingswaarden worden ingesteld voor gebruik tijdens runtime. |
accessControl |
No | Object | Voor het opgeven van beveiligingskenmerken voor uw logische app, zoals het beperken van IP-toegang tot aanvraagtriggers of invoer en uitvoer van de uitvoeringsgeschiedenis. Zie Beveiligde toegang tot logische apps voor meer informatie. |
runtimeConfiguration |
No | Object | Voor het opgeven van operationOptions eigenschappen die bepalen hoe uw logische app zich gedraagt tijdens runtime. U kunt uw logische app bijvoorbeeld uitvoeren in de modus voor hoge doorvoer. |
Zie Microsoft.Logic-resourcetypen voor meer informatie over resourcedefinities voor deze Logic Apps-objecten:
Definitie van beheerde API-resource voor integratieserviceomgeving
Integratieaccountartefacten:
Werkstroomdefinitie en -parameters
De werkstroomdefinitie van uw logische app wordt weergegeven in het definition
-object, dat wordt weergegeven in het object in de properties
resourcedefinitie van uw logische app. Dit definition
object is hetzelfde object dat wordt weergegeven in de codeweergave en volledig wordt beschreven in het onderwerp Schemaverwijzing voor Werkstroomdefinitietaal . Uw werkstroomdefinitie bevat een inner parameters
declaration-object waarmee u nieuwe parameters kunt definiëren of bestaande parameters kunt bewerken voor de waarden die tijdens runtime door uw werkstroomdefinitie worden gebruikt. U kunt vervolgens verwijzen naar deze parameters in de trigger of acties in uw werkstroom. Dit object is standaard leeg, parameters
tenzij uw logische app verbindingen maakt met andere services en systemen via beheerde connectors.
Als u de waarden voor parameters voor werkstroomdefinities wilt instellen, gebruikt u het parameters
object dat zich buiten uw werkstroomdefinitie maar nog steeds in de resourcedefinitie van uw logische app bevinden. In dit buitenste parameters
object kunt u vervolgens verwijzen naar de eerder gedeclareerde sjabloonparameters, die waarden kunnen accepteren bij de implementatie van een parameterbestand.
Tip
Als best practice kunt u niet rechtstreeks verwijzen naar sjabloonparameters, die tijdens de implementatie worden geëvalueerd, vanuit de werkstroomdefinitie. Declareer in plaats daarvan een parameter voor de werkstroomdefinitie, die u vervolgens kunt instellen in het object dat zich buiten uw parameters
werkstroomdefinitie maar nog steeds binnen de resourcedefinitie van uw logische app bevinden. Zie Verwijzingen naar parameters voor meer informatie.
Deze syntaxis laat zien waar u parameters kunt declareren op zowel het niveau van de sjabloon als de werkstroomdefinitie en waar u deze parameterwaarden kunt instellen door te verwijzen naar de sjabloon- en werkstroomdefinitieparameters:
{
"$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": {}
}
Definitieparameters voor beveiligde werkstroom
Voor een werkstroomdefinitieparameter die gevoelige informatie, wachtwoorden, toegangssleutels of geheimen tijdens runtime verwerkt, declareert of bewerkt u de parameter om het securestring
parametertype of secureobject
te gebruiken. U kunt verwijzen naar deze parameter in en binnen uw werkstroomdefinitie. Declareer op het hoogste niveau van de sjabloon een parameter met hetzelfde type voor het verwerken van deze informatie tijdens de implementatie.
Als u de waarde voor de parameter voor de werkstroomdefinitie wilt instellen, gebruikt u het parameters
object dat zich buiten de werkstroomdefinitie, maar nog steeds in de resourcedefinitie van uw logische app, om te verwijzen naar de sjabloonparameter. Als u ten slotte de waarde wilt doorgeven aan uw sjabloonparameter tijdens de implementatie, slaat u die waarde op in Azure Key Vault en verwijst u naar die sleutelkluis in het parameterbestand dat tijdens de implementatie door uw sjabloon wordt gebruikt.
Deze voorbeeldsjabloon laat zien hoe u deze taken kunt uitvoeren door indien nodig beveiligde parameters te definiëren, zodat u de waarden ervan kunt opslaan in Azure Key Vault:
- Declareer beveiligde parameters voor de waarden die worden gebruikt voor het verifiëren van toegang.
- Gebruik deze waarden op zowel het niveau van de sjabloon als de werkstroomdefinitie.
- Geef deze waarden op met behulp van een parameterbestand.
Sjabloon
{
"$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": {}
}
Parameterbestand
{
"$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"
}
}
}
}
Best practices - parameters voor werkstroomdefinities
Volg deze aanbevolen procedures om ervoor te zorgen dat de logic app designer werkstroomdefinitieparameters correct kan weergeven:
Neem het
defaultValue
kenmerk op, waarmee lege waarden kunnen worden opgegeven, voor alle parameters, met uitzondering van waarden die gevoelig zijn of moeten worden beveiligd.Gebruik altijd beveiligde parameters voor gebruikersnamen, wachtwoorden en geheimen. Als u gevoelige parameterwaarden wilt verbergen of beveiligen, volgt u de richtlijnen in deze onderwerpen:
Zie Parameters - Workflow Definition Language voor meer informatie over parameters voor werkstroomdefinities.
Definities van verbindingsresources
Wanneer uw logische app verbindingen met andere services en het systeem maakt en gebruikt met behulp van beheerde connectors, bevat het object van resources
uw sjabloon de resourcedefinities voor deze verbindingen. Hoewel u verbindingen maakt vanuit een logische app, zijn verbindingen afzonderlijke Azure-resources met hun eigen resourcedefinities. Als u deze definities van verbindingsresources wilt bekijken, downloadt u uw logische app van Azure naar Visual Studio. Dit is de eenvoudigste manier om een geldige sjabloon voor geparameteriseerde logische apps te maken die grotendeels gereed is voor implementatie.
{
"$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": {}
}
Definities van verbindingsresources verwijzen naar de parameters op het hoogste niveau van de sjabloon voor hun waarden, zodat u deze waarden tijdens de implementatie kunt opgeven met behulp van een parameterbestand. Zorg ervoor dat verbindingen dezelfde Azure-resourcegroep en -locatie gebruiken als uw logische app.
Hier volgt een voorbeeld van een resourcedefinitie voor een Office 365 Outlook-verbinding en de bijbehorende sjabloonparameters:
{
"$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 resourcedefinitie van uw logische app werkt ook op de volgende manieren met verbindingsresourcedefinities:
Binnen uw werkstroomdefinitie declareert het
parameters
object een$connections
parameter voor de verbindingswaarden die moeten worden gebruikt tijdens de runtime van de logische app. De trigger of actie waarmee een verbinding wordt gemaakt, maakt ook gebruik van de bijbehorende waarden die via deze$connections
parameter worden doorgegeven.Buiten de werkstroomdefinitie, maar nog steeds binnen de resourcedefinitie van uw logische app, stelt een ander
parameters
object de waarden in die tijdens runtime voor de$connections
parameter moeten worden gebruikt door te verwijzen naar de bijbehorende sjabloonparameters. Deze waarden gebruiken sjabloonexpressies om te verwijzen naar resources waarin de metagegevens voor de verbindingen in uw logische app veilig worden opgeslagen.Metagegevens kunnen bijvoorbeeld verbindingsreeksen en toegangstokens bevatten, die u kunt opslaan in Azure Key Vault. Als u deze waarden wilt doorgeven aan uw sjabloonparameters, verwijst u naar die sleutelkluis in het parameterbestand dat tijdens de implementatie door uw sjabloon wordt gebruikt. Zie Verwijzingen naar parameters verderop in dit onderwerp voor meer informatie over verschillen in het verwijzen naar parameters.
Wanneer u de werkstroomdefinitie van uw logische app opent in de codeweergave via de Azure Portal of Visual Studio, wordt het
$connections
object buiten de werkstroomdefinitie weergegeven, maar op hetzelfde niveau. Deze volgorde in de codeweergave maakt het gemakkelijker om naar deze parameters te verwijzen wanneer u de werkstroomdefinitie handmatig bijwerkt:{ "$connections": {<workflow-definition-parameter-connection-values-runtime}, "definition": {<workflow-definition>} }
De resourcedefinitie van uw logische app bevat een
dependsOn
-object dat de afhankelijkheden opgeeft van de verbindingen die door uw logische app worden gebruikt.
Elke verbinding die u maakt, heeft een unieke naam in Azure. Wanneer u meerdere verbindingen met dezelfde service of hetzelfde systeem maakt, wordt aan elke verbindingsnaam een getal toegevoegd, dat wordt verhoogd met elke nieuwe verbinding die wordt gemaakt, bijvoorbeeld office365
, office365-1
, enzovoort.
In dit voorbeeld ziet u de interacties tussen de resourcedefinitie van uw logische app en een verbindingsresourcedefinitie voor 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": {}
}
Beveiligde verbindingsparameters
Voor een verbindingsparameter die gevoelige informatie, wachtwoorden, toegangssleutels of geheimen verwerkt, bevat de resourcedefinitie van de verbinding een parameterValues
object dat deze waarden opgeeft in de naam-waardepaarindeling. Als u deze informatie wilt verbergen, kunt u de sjabloonparameters voor deze waarden declareren of bewerken met behulp van de securestring
parametertypen of secureobject
. U kunt die informatie vervolgens opslaan in Azure Key Vault. Als u deze waarden wilt doorgeven aan uw sjabloonparameters, verwijst u naar die sleutelkluis in het parameterbestand dat tijdens de implementatie door uw sjabloon wordt gebruikt.
Hier volgt een voorbeeld van de accountnaam en toegangssleutel voor een Azure Blob Storage-verbinding:
Parameterbestand
{
"$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"
}
}
}
}
Sjabloon
{
"$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": {}
}
Verbindingen verifiëren
Na de implementatie werkt uw logische app end-to-end met geldige parameters. U moet echter nog steeds OAuth-verbindingen autoriseren om geldige toegangstokens te genereren voor het verifiëren van uw referenties. Zie OAuth-verbindingen autoriseren voor meer informatie.
Sommige verbindingen ondersteunen het gebruik van een service-principal van Azure Active Directory (Azure AD) om verbindingen te autoriseren voor een logische app die is geregistreerd in Azure AD. Deze definitie van de Azure Data Lake-verbindingsresource laat bijvoorbeeld zien hoe u verwijst naar de sjabloonparameters die de informatie van de service-principal verwerken en hoe de sjabloon deze parameters declareert:
Definitie van verbindingsresource
{
<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')]"
}
}
}
Kenmerk | Beschrijving |
---|---|
token:clientId |
De toepassings- of client-id die is gekoppeld aan uw service-principal |
token:clientSecret |
De sleutelwaarde die is gekoppeld aan uw service-principal |
token:TenantId |
De map-id voor uw Azure AD-tenant |
token:grantType |
Het aangevraagde toekenningstype, dat moet zijn client_credentials . Zie Microsoft identity platform en de OAuth 2.0-clientreferentiestroom voor meer informatie. |
Sjabloonparameterdefinities
Het object op het hoogste niveau parameters
van de sjabloon declareert deze parameters voor de voorbeeldverbinding:
{
"$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:
- Een service-principal maken met behulp van de Azure Portal
- Een Azure-service-principal maken met behulp van Azure PowerShell
- Een service-principal met een certificaat maken met behulp van Azure PowerShell
Verwijzingen naar parameters
Als u wilt verwijzen naar sjabloonparameters, kunt u sjabloonexpressies gebruiken met sjabloonfuncties, die worden geëvalueerd tijdens de implementatie. Sjabloonexpressies gebruiken vierkante haken ([]):
"<attribute-name>": "[parameters('<template-parameter-name>')]"
Als u wilt verwijzen naar parameters voor werkstroomdefinitiedefinities, gebruikt u expressies en functies van de werkstroomdefinitietaal, die tijdens runtime worden geëvalueerd. Mogelijk ziet u dat sommige sjabloonfuncties en werkstroomdefinitiefuncties dezelfde naam hebben. Werkstroomdefinitieexpressies beginnen met het symbool 'at' (@):
"<attribute-name>": "@parameters('<workflow-definition-parameter-name>')"
U kunt sjabloonparameterwaarden doorgeven aan uw werkstroomdefinitie zodat uw logische app tijdens runtime kan worden gebruikt. Vermijd echter het gebruik van sjabloonparameters, expressies en syntaxis in uw werkstroomdefinitie, omdat logic app designer geen ondersteuning biedt voor sjabloonelementen. Bovendien kunnen sjabloonsyntaxis en expressies uw code ingewikkelder maken vanwege verschillen in wanneer expressies worden geëvalueerd.
Volg in plaats daarvan deze algemene stappen om de werkstroomdefinitieparameters die tijdens runtime moeten worden gebruikt, te declareren en te verwijzen naar de sjabloonparameters die moeten worden gebruikt bij de implementatie en om de waarden op te geven die moeten worden doorgegeven bij de implementatie met behulp van een parameterbestand. Zie de sectie Werkstroomdefinitie en -parameters eerder in dit onderwerp voor meer informatie.
Maak uw sjabloon en declareer de sjabloonparameters voor de waarden die moeten worden geaccepteerd en gebruikt bij de implementatie.
Declareer in uw werkstroomdefinitie de parameters voor de waarden die moeten worden geaccepteerd en gebruikt tijdens runtime. U kunt vervolgens verwijzen naar deze waarden in en binnen uw werkstroomdefinitie.
Stel in het object dat zich buiten de
parameters
werkstroomdefinitie bevindt, maar nog steeds binnen de resourcedefinitie van uw logische app, de waarden voor de parameters voor de definitie van de werkstroom in door te verwijzen naar de bijbehorende sjabloonparameters. Op die manier kunt u sjabloonparameterwaarden doorgeven aan uw werkstroomdefinitieparameters.Geef in het parameterbestand de waarden op voor de sjabloon die moeten worden gebruikt bij de implementatie.
Volledig voorbeeldsjabloon
Dit is de voorbeeldsjabloon met parameters die wordt gebruikt door de voorbeelden van dit onderwerp:
{
"$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": {}
}