Introduction
Azure Logic Apps permet d'automatiser des workflows sans écrire beaucoup de code. Cette solution low-code de Microsoft Azure connecte vos services cloud et on-premise. Dans ce tutoriel, vous allez créer une Logic App qui surveille un conteneur Blob Storage et envoie un email à chaque nouveau fichier. Cette approche est idéale pour les débutants qui souhaitent comprendre les bases des workflows automatisés.
Prérequis
- Compte Azure actif
- Azure CLI installé
- Connaissances basiques de JSON
- Accès à un compte Outlook ou Office 365
Créer la définition de base
{
"definition": {
"$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
"actions": {},
"contentVersion": "1.0.0.0",
"outputs": {},
"triggers": {}
}
}Ce fichier JSON constitue la structure minimale d'une Logic App. Il définit le schéma, les actions, les triggers et la version. Copiez-le directement dans le concepteur Azure pour initialiser votre workflow.
Configuration du déclencheur
Le déclencheur surveille les événements. Ici, nous utilisons un déclencheur Blob Storage qui se déclenche à l'ajout d'un fichier.
Ajouter le trigger Blob
{
"When_a_blob_is_added_or_modified": {
"type": "ApiConnection",
"inputs": {
"host": {
"connection": {
"name": "@parameters('$connections')['azureblob']['connectionId']"
}
},
"method": "get",
"path": "/v2/datasets/@{encodeURIComponent(encodeURIComponent('AccountNameFromSettings'))}/files",
"queries": {
"folderPath": "/uploads",
"maxFileCount": 10
}
},
"recurrence": {
"frequency": "Minute",
"interval": 1
}
}
}Ce trigger surveille le dossier /uploads toutes les minutes. Il utilise une connexion Azure Blob existante. Remplacez le nom du compte par le vôtre.
Ajouter l'action d'envoi d'email
{
"Send_an_email_(V2)": {
"type": "ApiConnection",
"inputs": {
"host": {
"connection": {
"name": "@parameters('$connections')['office365']['connectionId']"
}
},
"method": "post",
"path": "/v2/Mail",
"body": {
"To": "admin@exemple.com",
"Subject": "Nouveau fichier détecté",
"Body": "Un nouveau fichier a été ajouté : @{triggerBody()?['Name']}"
}
}
}
}Cette action envoie un email via Office 365 dès qu'un fichier est détecté. Utilisez les expressions pour inclure le nom du fichier dynamiquement.
Ajouter la gestion d'erreurs
{
"Scope": {
"type": "Scope",
"actions": {
"Send_an_email_(V2)": { ... }
},
"runAfter": {}
},
"Configure_run_after": {
"type": "If",
"expression": {
"or": [
{
"equals": [
"@action()['status']",
"Failed"
]
}
]
}
}
}La gestion d'erreurs utilise un scope et une condition runAfter. Cela permet d'envoyer une alerte en cas d'échec du workflow principal.
Déploiement via CLI
#!/bin/bash
az group create --name LogicAppRG --location westeurope
az logic workflow create --resource-group LogicAppRG \
--name MonPremierWorkflow --definition workflow-base.json \
--location westeuropeCe script Bash crée le groupe de ressources puis déploie la Logic App avec la définition JSON. Exécutez-le après avoir configuré Azure CLI.
Bonnes pratiques
- Nommez clairement vos actions et triggers
- Utilisez des variables pour les valeurs réutilisables
- Activez le logging pour le débogage
- Testez chaque étape dans le mode designer
- Protégez les secrets avec Azure Key Vault
Erreurs courantes à éviter
- Oublier de configurer les connexions API
- Utiliser des chemins Blob incorrects
- Ignorer les limites de débit des connecteurs
- Ne pas tester les workflows en mode itératif
Pour aller plus loin
Approfondissez vos compétences avec nos formations Azure complètes.