Se connecter à Stockage Blob Azure à partir de flux de travail dans Azure Logic Apps
S’applique à : Azure Logic Apps (Consommation + Standard)
Ce guide pratique montre comment accéder à votre compte et votre conteneur Stockage Blob Azure à partir d’un workflow dans Azure Logic Apps à l’aide du connecteur Stockage Blob Azure. Ce connecteur fournit des déclencheurs et des actions que votre flux de travail peut utiliser pour les opérations sur les objets blob. Vous pouvez ensuite créer des workflows automatisés qui s’exécutent quand ils sont déclenchés par des événements dans votre conteneur de stockage ou dans d’autres systèmes, et exécuter des actions pour travailler avec des données dans votre conteneur de stockage. Par exemple, vous pouvez accéder et gérer des fichiers stockés en tant qu’objets blob dans votre compte de stockage Azure.
Vous pouvez vous connecter au Stockage Blob Azure à partir d’un flux de travail dans les types de ressources Application logique (Consommation) et Application logique (Standard). Vous pouvez utiliser le connecteur avec des workflows d’application logique dans Azure Logic Apps multitenant (multilocataire) et Azure Logic Apps monotenant (monolocataire). Avec Logic App (Standard), vous pouvez utiliser les opérations de connecteur intégrées Azure Blob, ou les opérations de connecteur managé Stockage Blob Azure.
Référence technique du connecteur
Le connecteur Stockage Blob Azure a différentes versions, en fonction du type d’application logique et de l’environnement hôte.
Application logique | Environnement | Version du connecteur |
---|---|---|
Consommation | Azure Logic Apps multilocataire | Connecteur managé, qui apparaît dans la galerie de connecteurs sous Runtime>Partagé. Pour plus d’informations, consultez la documentation suivante : - Référence du connecteur managé de Stockage Blob Azure - Connecteurs managés dans Azure Logic Apps |
Standard | Azure Logic Apps monolocataire et App Service Environment v3 (plans Windows uniquement) | Connecteur managé (hébergé par Azure), qui apparaît dans la galerie de connecteurs sous Runtime>Partagé, et connecteur intégré, qui est basé sur le fournisseur de services, et apparaît dans la galerie de connecteurs sous Runtime>Dans l’application. La version intégrée diffère des façons suivantes : - La version intégrée se connecte directement à votre compte de stockage Azure nécessitant uniquement une chaîne de connexion. - La version intégrée peut accéder directement aux réseaux virtuels Azure. Pour plus d’informations, consultez la documentation suivante : - Référence du connecteur managé de Stockage Blob Azure - Informations de référence sur le connecteur intégré Azure Blob - Connecteurs intégrés dans Azure Logic Apps |
Limites
Les actions du connecteur managé du service Stockage Blob Azure peuvent lire ou écrire des fichiers de 50 Mo ou moins. Pour gérer les fichiers d’une taille supérieure à 50 Mo, mais n’excédant pas 1 024 Mo, les actions de Stockage Blob Azure prennent en charge la segmentation du message. L’action du service Stockage Blob nommée Obtenir le contenu de l’objet blob utilise implicitement la segmentation.
Bien que les déclencheurs managés et intégrés du service Stockage Blob Azure ne prennent pas en charge la segmentation, les déclencheurs intégrés peuvent gérer les fichiers de 50 Mo ou plus. Toutefois, quand un déclencheur managé demande le contenu d’un fichier, le déclencheur sélectionne uniquement les fichiers de 50 Mo ou moins. Pour obtenir des fichiers supérieurs à 50 Mo, suivez ce modèle :
Utilisez un déclencheur Blob qui retourne des propriétés de fichier, comme Quand un blob est ajouté ou modifié (propriétés uniquement).
Suivez le déclencheur avec l’action du connecteur managé de Stockage Blob Azure nommée Obtenir le contenu de l’objet blob, qui lit le fichier complet et utilise implicitement la segmentation.
Limites des déclencheurs du service Stockage Blob Azure
- Le déclencheur de connecteur managé est limité à 30 000 objets blob dans le dossier virtuel d’interrogation.
- Le déclencheur de connecteur intégré est limité à 10 000 objets blob dans l’ensemble du conteneur d’interrogation.
Si la limite est dépassée, il est possible qu’un nouvel objet blob ne puisse pas déclencher le workflow. Le déclencheur est donc ignoré.
Prérequis
Un compte et un abonnement Azure. Si vous n’avez pas d’abonnement Azure, inscrivez-vous pour bénéficier d’un compte Azure gratuit.
Le workflow d’application logique à partir duquel vous souhaitez accéder à votre compte Stockage Azure. Pour démarrer votre workflow avec un déclencheur Azure Blob, vous avez besoin d’un workflow vide. Pour utiliser une action Azure Blob, démarrez votre workflow avec n’importe quel déclencheur.
Ajouter un déclencheur d’objet Blob
Un flux de travail d’application logique Consommation ne peut utiliser que le connecteur managé Stockage Blob Azure. Toutefois, un flux de travail d’application logique standard peut utiliser le connecteur managé Stockage Blob Azure et le connecteur intégré d’objets blob Azure. Bien que les deux versions de connecteur n’aient qu’un seul déclencheur d’objet blob, le nom du déclencheur diffère comme suit, selon que vous utilisez un workflow Consommation ou Standard :
Application logique | Version du connecteur | Nom du déclencheur | Description |
---|---|---|---|
Consommation | Connecteur managé uniquement | Quand un blob est ajouté ou modifié (propriétés uniquement) | Le déclencheur s’active lorsque les propriétés d’un objet blob sont ajoutées ou mises à jour dans le dossier racine de votre conteneur de stockage. Lorsque vous configurez le déclencheur managé, la version managée ignore les objets blob existants dans votre conteneur de stockage. |
Standard | - Connecteur intégré - Connecteur managé |
- Intégré : Lorsqu’un objet blob est ajouté ou mis à jour - Managé : Quand un blob est ajouté ou modifié (propriétés uniquement) |
- Intégré : le déclencheur se déclenche lorsqu’un objet blob est ajouté ou mis à jour dans votre conteneur de stockage, et se déclenche pour tous les dossiers imbriqués de votre conteneur de stockage, pas seulement le dossier racine. Lorsque vous configurez le déclencheur intégré, la version intégrée traite tous les objets blob existants dans votre conteneur de stockage. - Managé : Le déclencheur s’active lorsque les propriétés d’un objet blob sont ajoutées ou mises à jour dans le dossier racine de votre conteneur de stockage. Lorsque vous configurez le déclencheur managé, la version managée ignore les objets blob existants dans votre conteneur de stockage. |
Les étapes suivantes utilisent le portail Azure, mais avec l’extension Azure Logic Apps appropriée, vous pouvez également utiliser les outils suivants pour créer des flux de travail d’application logique :
Flux de travail d’application logique de consommation : Visual Studio ou Visual Studio Code
Flux de travail d’application logique standard : Visual Studio Code
Sur le portail Azure, ouvrez votre workflow d’application logique Consommation et un workflow vide dans le concepteur.
Dans le concepteur, sous la zone de recherche, sélectionnez Standard, puis suivez ces étapes générales pour ajouter le déclencheur managé Stockage Blob Azure de votre choix.
Cet exemple continue avec le déclencheur nommé Lorsqu’un objet blob est ajouté ou modifié (propriétés uniquement).
Si vous y êtes invité, fournissez les informations suivantes pour votre connexion à votre compte de stockage. Sélectionnez Créer lorsque vous avez terminé.
Propriété Obligatoire Description Nom de connexion Oui Nom de votre connexion Type d’authentification Oui Le type d’authentification pour votre compte de stockage. Pour plus d’informations, consultez Types d’authentification pour les déclencheurs et les actions qui prennent en charge l’authentification - Sécuriser l’accès et les données. Par exemple, cette connexion utilise l’authentification par clé d’accès et fournit la valeur de clé d’accès pour le compte de stockage, ainsi que les valeurs de propriété suivantes :
Propriété Obligatoire Value Description Nom du compte de stockage Azure Oui, mais uniquement pour l’authentification par clé d’accès <storage-account-name> Le nom du compte de stockage Azure dans lequel se trouve votre conteneur d’objets Blob.
Remarque : pour trouver le nom du compte de stockage, ouvrez la ressource de votre compte de stockage dans le portail Azure. Dans le menu de la ressource, sous Sécurité + mise en réseau, sélectionnez Clés d’accès. Sous Nom du compte de stockage, copiez et enregistrez le nom.Clé d’accès au compte de stockage Azure Oui,
mais uniquement pour l’authentification par clé d’accès<storage-account-access-key> La clé d’accès de votre compte de stockage Azure.
Remarque : pour trouver la clé d’accès, ouvrez la ressource de votre compte de stockage dans le portail Azure. Dans le menu de la ressource, sous Sécurité + mise en réseau, sélectionnez Clés d’accès>key1>Afficher. Copiez et enregistrez la valeur de clé primaire.Une fois que la zone d’informations du déclencheur s’affiche, fournissez les informations nécessaires.
Pour la valeur de propriété Conteneur, sélectionnez l’icône en forme de dossier afin de rechercher votre conteneur d’objets blob. Ou entrez le chemin d’accès manuellement à l’aide de la syntaxe /<container-name>, par exemple :
Pour ajouter d’autres propriétés disponibles pour ce déclencheur, ouvrez la liste Ajouter de nouveaux paramètres et sélectionnez les propriétés que vous voulez.
Pour plus d’informations, consultez Propriétés de déclencheur de connecteur managé Stockage Blob Azure.
Ajoutez toutes les autres actions dont votre flux de travail a besoin.
Lorsque vous avez terminé, enregistrez votre flux de travail. Dans la barre d’outils du Concepteur, sélectionnez Enregistrer.
Ajouter une action d’objet Blob
Un flux de travail d’application logique Consommation ne peut utiliser que le connecteur managé Stockage Blob Azure. Toutefois, un flux de travail d’application logique standard peut utiliser le connecteur managé Stockage Blob Azure et le connecteur intégré d’objets blob Azure. Chaque version a plusieurs actions nommées, mais différemment nommées. Par exemple, les versions managée et intégrée du connecteur ont leurs propres actions pour obtenir les métadonnées et le contenu du fichier.
Actions du connecteur managé : ces actions s’exécutent dans un flux de travail Consommation ou Standard.
Actions de connecteur intégré : ces actions s’exécutent uniquement dans un flux de travail Standard.
Les étapes suivantes utilisent le portail Azure, mais avec l’extension Azure Logic Apps appropriée, vous pouvez également utiliser les outils suivants pour créer et modifier des flux de travail d’application logique :
Flux de travail d’application logique de consommation : Visual Studio ou Visual Studio Code
Flux de travail d’application logique standard : Visual Studio Code
Sur le portail Azure, ouvrez votre workflow d’application logique Consommation dans le concepteur.
Si votre workflow est vide, ajoutez le déclencheur nécessaire à votre scénario.
Cet exemple utilise le déclencheur Périodicité.
Dans le concepteur, suivez ces étapes générales pour rechercher et ajouter l’action managée Stockage Blob Azure de votre choix.
Cet exemple continue avec l’action nommée Obtenir un contenu blob.
Si vous y êtes invité, fournissez les informations suivantes pour votre connexion. Sélectionnez Créer lorsque vous avez terminé.
Propriété Obligatoire Description Nom de connexion Oui Nom de votre connexion Type d’authentification Oui Le type d’authentification pour votre compte de stockage. Pour plus d’informations, consultez Types d’authentification pour les déclencheurs et les actions qui prennent en charge l’authentification - Sécuriser l’accès et les données. Par exemple, cette connexion utilise l’authentification par clé d’accès et fournit la valeur de clé d’accès pour le compte de stockage, ainsi que les valeurs de propriété suivantes :
Propriété Obligatoire Value Description Nom du compte de stockage Azure Oui,
mais uniquement pour l’authentification par clé d’accès<storage-account-name> Le nom du compte de stockage Azure dans lequel se trouve votre conteneur d’objets Blob.
Remarque : pour trouver le nom du compte de stockage, ouvrez la ressource de votre compte de stockage dans le portail Azure. Dans le menu de la ressource, sous Sécurité + mise en réseau, sélectionnez Clés d’accès. Sous Nom du compte de stockage, copiez et enregistrez le nom.Clé d’accès au compte de stockage Azure Oui,
mais uniquement pour l’authentification par clé d’accès<storage-account-access-key> La clé d’accès de votre compte de stockage Azure.
Remarque : pour trouver la clé d’accès, ouvrez la ressource de votre compte de stockage dans le portail Azure. Dans le menu de la ressource, sous Sécurité + mise en réseau, sélectionnez Clés d’accès>key1>Afficher. Copiez et enregistrez la valeur de clé primaire.Dans la zone d’informations sur l’action, fournissez les informations nécessaires.
Par exemple, dans l’action Obtenir le contenu de l’objet Blob, indiquez le nom de votre compte de stockage. Pour la valeur de propriété Blob, sélectionnez l’icône en forme de dossier afin de rechercher votre conteneur ou dossier de stockage. Ou entrez le chemin d’accès manuellement.
Tâche Syntaxe du chemin d’accès à l’objet Blob Obtenez le contenu d’un objet Blob spécifique dans le dossier racine. /<container-name>/<blob-name> Obtenez le contenu d’un objet Blob spécifique dans un sous-dossier. /<container-name>/<subfolder>/<blob-name> L’exemple suivant illustre le paramétrage de l’action qui permet d’obtenir le contenu d’un objet Blob dans le dossier racine :
L’exemple suivant illustre le paramétrage de l’action qui permet d’obtenir le contenu d’un objet Blob dans le sous-dossier :
Ajoutez toutes les autres actions dont votre flux de travail a besoin.
Lorsque vous avez terminé, enregistrez votre flux de travail. Dans la barre d’outils du Concepteur, sélectionnez Enregistrer.
Accéder à des comptes de stockage derrière des pare-feu
Vous pouvez ajouter la sécurité réseau à un compte de stockage Azure en restreignant l’accès avec un pare-feu et des règles de pare-feu. Toutefois, cette configuration crée une difficulté pour Azure et d’autres services Microsoft qui ont besoin d’accéder au compte de stockage. La communication locale dans le centre de données extrait les adresses IP internes. Par conséquent, le simple fait d’autoriser le trafic via des adresses IP peut ne pas suffire pour permettre la communication à travers le pare-feu. En fonction du connecteur Stockage Blob Azure que vous utilisez, les options suivantes sont disponibles :
Pour accéder aux comptes de stockage derrière des pare-feux à l’aide du connecteur managé Stockage Blob Azure dans les applications logiques Consommation, consultez la documentation suivante :
Pour accéder aux comptes de stockage derrière des pare-feux dans les applications logiques Standard, consultez la documentation suivante :
Connecteur intégré du service Stockage Blob Azure : Accéder aux comptes de stockage via l’intégration d’un réseau virtuel
Connecteur managé du service Stockage Blob Azure : Accéder aux comptes de stockage dans d’autres régions
Accéder aux comptes de stockage dans d’autres régions
Si vous n’utilisez pas l’authentification par identité managée, les workflows d’application logique ne peuvent pas accéder directement aux comptes de stockage derrière des pare-feu lorsque la ressource d’application logique et le compte de stockage existent dans la même région. Pour contourner ce problème, placez vos ressources d’application logique dans une région différente de celle de votre compte de stockage. Ensuite, donnez accès aux adresses IP sortantes pour les connecteurs managés dans votre région.
Remarque
Cette solution ne s’applique pas aux connecteurs Stockage Table Azure et Stockage File d’attente Azure. À la place, pour accéder à votre connecteur Stockage Table ou Stockage File d’attente, utilisez le déclencheur et les actions HTTP intégrés.
Pour ajouter vos adresses IP sortantes au pare-feu du compte de stockage, procédez comme suit :
Notez les adresses IP sortantes du connecteur géré dans la région de votre ressource d’application logique.
Sur le Portail Azure, trouvez et ouvrez votre ressource de compte de stockage.
Dans le menu de navigation du compte de stockage, sélectionnez Mise en réseau sous Sécurité + mise en réseau.
Sous Autoriser l’accès à partir de, sélectionnez Réseaux sélectionnés pour afficher les paramètres concernés.
Sous Pare-feu, ajoutez les adresses ou plages d’adresses IP qui doivent être accessibles. Si vous devez accéder au compte de stockage à partir de votre ordinateur, sélectionnez Ajouter l’adresse IP de votre client.
Quand vous avez terminé, sélectionnez Enregistrer.
Accéder aux comptes de stockage via un réseau virtuel approuvé
Votre application logique et le compte de stockage sont dans la même région.
Vous pouvez placer votre compte de stockage dans un réseau virtuel Azure en créant un point de terminaison privé, puis ajouter ce réseau virtuel à la liste des réseaux virtuels approuvés. Pour permettre à votre application logique d’accéder au compte de stockage via un réseau virtuel approuvé, vous devez créer une application logique Standard, qui peut se connecter aux ressources d’un réseau virtuel.
Votre application logique et le compte de stockage sont dans des régions différentes.
Créez un point de terminaison privé sur votre compte de stockage pour y accéder.
Accéder aux comptes de stockage via l’intégration d’un réseau virtuel
Votre application logique et le compte de stockage sont dans la même région.
Vous pouvez placer le compte de stockage dans un réseau virtuel Azure en créant un point de terminaison privé, puis ajouter ce réseau virtuel à la liste des réseaux virtuels approuvés. Pour permettre à votre application logique d’accéder au compte de stockage, vous devez configurer le trafic sortant à l’aide de l’intégration de réseau virtuel afin d’autoriser la connexion aux ressources d’un réseau virtuel. Vous pouvez ensuite ajouter le réseau virtuel à la liste des réseaux virtuels approuvés du compte de stockage.
Votre application logique et le compte de stockage sont dans des régions différentes.
Créez un point de terminaison privé sur votre compte de stockage pour y accéder.
Accéder au Stockage Blob dans la même région avec des identités managées par le système
Pour vous connecter à Stockage Blob Azure dans n’importe quelle région, vous pouvez utiliser des identités managées pour l’authentification. Vous pouvez créer une exception qui donne aux services de confiance Microsoft, comme une identité managée, l’accès à votre compte de stockage via un pare-feu.
Remarque
Cette solution ne s’applique pas aux applications logiques Standard. Même si vous utilisez une identité managée affectée par le système avec une application logique Standard, le connecteur managé du service Stockage Blob Azure ne peut pas se connecter à un compte de stockage dans la même région.
Pour utiliser des identités managées dans votre application logique afin d’accéder au Stockage Blob, procédez comme suit :
Créez une attribution de rôle pour votre application logique.
Activez la prise en charge de l’identité managée dans votre application logique.
Remarque
Cette solution présente les limites suivantes :
Pour authentifier votre connexion de compte de stockage, vous devez configurer une identité managée affectée par le système. Une identité managée affectée par l’utilisateur ne fonctionne pas.
Configurer l’accès du compte de stockage
Pour configurer l’exception et la prise en charge de l’identité managée, configurez tout d’abord l’accès approprié à votre compte de stockage :
Sur le Portail Azure, trouvez et ouvrez votre ressource de compte de stockage.
Dans le menu de navigation du compte de stockage, sélectionnez Mise en réseau sous Sécurité + mise en réseau.
Sous Autoriser l’accès à partir de, sélectionnez Réseaux sélectionnés pour afficher les paramètres concernés.
Si vous devez accéder au compte de stockage à partir de votre ordinateur, sélectionnez Ajouter l’adresse IP de votre client sous Pare-feu.
Sous Exception, sélectionnez Autoriser les services Microsoft approuvés à accéder à ce compte de stockage.
Lorsque vous avez terminé, sélectionnez Enregistrer.
Remarque
Si vous recevez une erreur 403 Forbidden lorsque vous essayez de vous connecter au compte de stockage à partir de votre flux de travail, il y a plusieurs causes possibles. Essayez la résolution suivante avant de passer aux étapes supplémentaires. Tout d’abord, désactivez le paramètre Autoriser les services Microsoft approuvés à accéder à ce compte de stockage et enregistrez vos modifications. Ensuite, réactivez le paramètre et enregistrez à nouveau vos modifications.
Créer une attribution de rôle pour l’application logique
Ensuite, activez la prise en charge de l’identité managée sur votre ressource d’application logique.
Les étapes suivantes sont les mêmes pour les applications logiques Consommation dans les environnements multitenants (multilocataires) et les applications logiques Standard dans les environnements monotenants (monolocataires).
Dans le portail Azure, ouvrez votre ressource d’application logique.
Dans le menu de navigation de la ressource d’application logique, sélectionnez Identité sous Paramètres.
Dans le volet Affectée par le système, définissez État sur Activé, s’il n’est pas déjà activé, sélectionnez Enregistrer, puis confirmez vos modifications. Sous Autorisations, sélectionnez Attributions de rôles Azure.
Sur le volet Attributions de rôle Azure, sélectionnez Ajouter une attribution de rôle.
Dans le volet Ajouter des attributions de rôle, configurez la nouvelle attribution de rôle avec les valeurs suivantes :
Propriété Valeur Description Portée <étendue-ressource> Ensemble de ressources dans lequel vous souhaitez appliquer l’attribution de rôle. Dans cet exemple, sélectionnez Stockage. Abonnement <abonnement-Azure> Abonnement Azure pour votre compte de stockage. Ressource <storage-account-name> Nom du compte de stockage auquel vous souhaitez accéder à partir du flux de travail de votre application logique. Rôle <rôle-à-attribuer> Rôle que votre scénario exige pour que votre flux de travail fonctionne avec la ressource. Cet exemple requiert le rôle Contributeur aux données Blob du stockage, qui autorise l’accès en lecture, écriture et suppression aux conteneurs de blobs et à la date. Pour voir le détail des autorisations, déplacez votre souris sur l’icône d’informations située à côté d’un rôle dans le menu déroulant. Lorsque vous avez terminé, sélectionnez Enregistrer pour terminer la création de l’attribution de rôle.
Activation de la prise en charge de l’identité managée sur l’application logique
Ensuite, effectuez ces étapes :
Si vous avez un workflow vide, ajoutez un déclencheur de connecteur Stockage Blob Azure. Sinon, ajoutez une action de connecteur Stockage Blob Azure. Veillez à créer une connexion pour le déclencheur ou l’action, plutôt qu’utiliser une connexion existante.
Veillez à configurer le type d’authentification pour utiliser l’identité managée.
Après avoir configuré le déclencheur ou l’action, vous pouvez enregistrer le workflow et tester le déclencheur ou l’action.
Résoudre les problèmes liés à l’accès aux comptes de stockage
« Cette requête n’est pas autorisée à effectuer cette opération. »
L’erreur suivante est un problème couramment signalé qui se produit lorsque votre application logique et votre compte de stockage existent dans la même région. Toutefois, des options sont disponibles pour résoudre cette limitation, comme décrit dans la section Accéder à des comptes de stockage derrière des pare-feu.
{ "status": 403, "message": "This request is not authorized to perform this operation.\\r\\nclientRequestId: a3da2269-7120-44b4-9fe5-ede7a9b0fbb8", "error": { "message": "This request is not authorized to perform this operation." }, "source": "azureblob-ase.azconn-ase.p.azurewebsites.net" }
Erreurs Application Insights
Erreurs 404 et 409
Si votre flux de travail Standard utilise une action intégrée d’objets blob Azure qui ajoute un objet blob à votre conteneur de stockage, vous pouvez obtenir des erreurs 404 et 409 dans Application Insights pour les requêtes ayant échoué. Ces erreurs sont attendues, car le connecteur vérifie si le fichier blob existe avant d’ajouter l’objet blob. Les erreurs se sont produites lorsque le fichier n’existe pas. Malgré ces erreurs, l’action intégrée ajoute correctement l’objet blob.