Les paramètres dans les Logic App

Kevin Bacas
Publié par Kevin
Catégorie : Azure / DevOps / Logic Apps VSTS
24/08/2020

L’éditeur en ligne des Logic App Azure propose maintenant un bouton “Parameters”. Cet article a pour but d’explorer les possibilités de cette nouvelle fonctionnalité. Elle permet de déclarer des paramètres directement dans la Logic App.
Ce qui est très utile pour gérer le déploiement des Logic App via des pipelines de déploiement (notamment sur Azure DevOps). Avant son implémentation, le seul moyen de rendre paramétrable une Logic App était de configurer manuellement (via code) les paramètres au niveau de l’ARM. Maintenant nous avons la possibilité de les déclarer directement depuis le designer.

 

Comment les utiliser

Tout d’abord, pour déclarer un paramètre, il faut aller dans l’onglet parameters du designer de la Logic App concernée :

Un fois que vous aurez cliqué dessus, un panneau va apparaitre sur la droite du designer :

Celui-ci va vous permettre d’ajouter autant de paramètres que vous voulez.

Les types de paramètres disponibles sont :

  • Array
  • Boolean
  • Float
  • Int
  • Object
  • Secure Object
  • Secure String
  • String

 

L’utilisation de Secure String et de Secure Object permet de stocker les valeurs de ces paramètres dans un Azure KeyVault. L’utilisation de valeur par défaut pour les types secure émettra un warning :

 

Export template de la Logic App

Malheureusement, l’onglet “Export Template” des Logic App ne prend pas encore en compte les paramètres de Logic App :

 

On voit ici qu’il a seulement un paramètre pour le nom de la Logic App au niveau de l’ARM, donc aucun moyen d’influer sur la valeur du paramètre de la Logic App via un fichier paramètres ARM.

 

La solution LogicAppTemplateCreator

LogicAppTemplateCreator est un module PowerShell qui permet d’extraire en ligne de commande l’ARM d’une Logic App et de pouvoir l’inclure dans un process de déploiement.
Pour l’installation de celui-ci je vous propose de lire les instructions présente dans la Readme du dépôt GitHub.

 

Un fois installé, nous allons exporter notre Logic App :

armclient token a2c5e9f6-c267-4baf-ac68-910a42104768 | Get-LogicAppTemplate -LogicApp LA_TemplateParametersDemo -ResourceGroup RG_Blog_TemplateParameters -SubscriptionId a2c5e9f6-c267-4baf-ac68-910a42104768 -Verbose | Out-File C:\template.json

 

Nous pouvons noter maintenant la présence de deux éléments dans notre ARM :

  • La définition du paramètre au niveau de l’ARM
  • La définition du paramètre au niveau de la Logic App

 

Le paramètre de la Logic App n’est pas définit au même endroit que le paramètre de l’ARM. En revanche, le paramètre de la Logic App se base sur la valeur qui est fournie par le parameters file de l’ARM. Nous pouvons donc maintenant influer dessus lors de notre déploiement.

 

Conclusion

Cette nouvelle fonctionnalité de paramètres dans Logic App nous permet maintenant d’intégrer des variables que nous remplirons au moment du déploiement. C’est un grand pas en avant pour nous aider à designer des solutions techniques compatibles dans des contextes multi-environnement.