Insertion de données depuis une API Graph dans Azure Cosmos DB
Azure Cosmos DB, une base de données gérée par Microsoft, est conçue pour offrir une faible latence de lecture et d’écriture à l’échelle mondiale. Grâce à sa mise à l’échelle automatique, Cosmos DB simplifie la gestion des bases de données distribuées en éliminant les tâches complexes telles que la configuration, la réplication et la mise à l’échelle.
Dans un projet récent, j’avais besoin de récupérer quotidiennement des informations depuis des API Graph et de les stocker de manière fiable pour une analyse ultérieure. Afin de gérer efficacement ce flux de données et d’automatiser le processus, j’ai opté pour Azure Cosmos DB comme solution de stockage. Cet article détaille les étapes nécessaires pour insérer des données récupérées depuis une API dans une base de données Azure Cosmos DB, en automatisant l’ensemble du processus.
Étape 1 : Création d’un nouveau flux dans Power Automate
Pour commencer, ouvrez Power Automate et connectez-vous avec vos identifiants Microsoft. Une fois connecté, suivez les étapes ci-dessous pour créer un nouveau flux :
Sur l’écran d’accueil de Power Automate, cliquez sur « Créer » pour démarrer la création d’un nouveau flux.
Vous verrez deux sections s’afficher :
Étape 2 : Action pour récupérer des données depuis une API
Maintenant que vous avez créé et configuré votre flux planifié, il est temps d’ajouter une action pour récupérer des données depuis une API.
Étape 3 : Configuration de l’action HTTP
Maintenant que vous avez ajouté l’action HTTP à votre flux, il est temps de configurer correctement la requête pour interroger l’API.
Dans le champ « URI« , entrez l’URL de l’API que vous souhaitez interroger. Cette URL est l’endroit où Power Automate enverra la requête pour récupérer les données. Par exemple, si vous interrogez une API Graph, l’URL pourrait être https://graph.microsoft.com/v1.0/users
.
Dans le champ « Method« , sélectionnez la méthode HTTP appropriée pour la requête. Les méthodes les plus courantes sont :
Pour une récupération de données, vous utiliserez généralement la méthode GET.
Si votre API nécessite des en-têtes spécifiques, comme un jeton d’autorisation, ajoutez-les ici. Cliquez sur « Enter key » pour saisir le nom de l’en-tête (par exemple, Authorization), puis sur « Enter value » pour entrer la valeur correspondante (par exemple, Bearer <votre_token>).
5. Queries (Requêtes) : si l’API prend en charge des paramètres de requête (query parameters), vous pouvez les ajouter dans cette section. Par exemple, pour filtrer les résultats ou spécifier une plage de dates.
6. Body (Corps de la requête) : ce champ est utilisé principalement avec des méthodes comme POST ou PUT lorsque vous devez envoyer des données avec votre requête. Pour une requête GET, vous pouvez généralement laisser ce champ vide.
7. Cookie : si votre API nécessite l’envoi d’un cookie particulier avec la requête, vous pouvez l’entrer ici, mais cela est rarement nécessaire.
Configurez ces champs en fonction des spécifications de l’API que vous utilisez, puis sauvegardez et testez.
Étape 4 : Utilisation de l’Action ‘Parse JSON’
Après avoir récupéré les données sous forme de JSON via l’action HTTP, il est essentiel de les structurer pour les rendre facilement accessibles lors des étapes suivantes du flux, notamment pour leur insertion dans Azure Cosmos DB.
Pour cela, vous utiliserez l’action « Parse JSON« .
Vous pouvez utiliser le contenu dynamique pour sélectionner cette valeur.
Récupérer le JSON de l’output
Avant de configurer le schéma JSON dans l’action « Parse JSON« , vous devez exécuter votre flux pour obtenir la réponse JSON de l’API. Voici comment procéder :
Configurer l’action ‘Parse JSON’
Vérifier le schéma généré
Maintenant que vous avez structuré vos données JSON, vous pouvez les insérer ou les mettre à jour dans Azure Cosmos DB en utilisant l’action « Create or update document (V3)« . Voici les étapes à suivre :
1.Ajouter l’Action ‘Create or Update Document (V3)’ :
2.Configurer la Connexion à Azure Cosmos DB
Si c’est la première fois que vous utilisez Cosmos DB avec Power Automate, vous devrez configurer une connexion :
Dans Azure Cosmos DB, toutes les données sont stockées sous forme d’objets JSON. Par conséquent, vous devez créer un objet JSON dans le champ « Body » qui contient les données que vous souhaitez insérer ou mettre à jour.
Voici comment configurer les champs obligatoires :
utcNow()
pour inclure la date et l’heure actuelles.utcNow()
.(J’ai structuré le JSON de cette manière pour faciliter l’analyse des données ultérieurement dans Power BI.)
Important : vous pouvez structurer, ajouter ou enlever des champs dans ce JSON en fonction de vos besoins spécifiques. Cette flexibilité vous permet d’adapter la structure des données pour qu’elle corresponde exactement aux exigences de votre application ou de vos analyses futures.
Options Avancées
Lors de l’utilisation de l’action « Créer ou mettre à jour un document » dans Cosmos DB, plusieurs options avancées sont disponibles pour affiner et personnaliser l’insertion des données, comme la gestion des niveaux de cohérence, des déclencheurs avant et après l’insertion, ou encore l’activation du mode « Upsert » pour créer ou mettre à jour automatiquement les documents.
Étape Finale : sauvegarde et test du flux
Une fois que vous avez configuré toutes les étapes de votre flux, suivez ces dernières instructions pour finaliser et tester votre configuration :
Sauvegardez votre flux : cliquez sur le bouton « Enregistrer » en haut à droite de l’écran pour sauvegarder toutes les modifications apportées à votre flux.
Tester le flux : une fois sauvegardé, cliquez sur « Tester » pour exécuter votre flux manuellement. Vous pouvez également attendre la prochaine exécution planifiée si vous avez configuré une exécution automatique.
Vérifier les données dans Cosmos DB : après l’exécution du flux, accédez à votre Azure Cosmos DB via le portail Azure. Ouvrez la collection dans laquelle vous avez configuré l’insertion des données et vérifiez que les nouveaux documents ont été correctement insérés.
Si tout est configuré correctement, vous devriez voir les données provenant de votre API insérées dans Cosmos DB, prêtes à être utilisées ou analysées.
Vous avez besoin d’un renseignement et d’accompagnement sur le déploiement des solutions Cloud Microsoft ?