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 conteneur Stockage Blob Azure à partir d’un flux de travail 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). Le connecteur peut être utilisé avec des flux de travail d’application logique dans un environnement Azure Logic Apps multilocataire, un environnement Azure Logic Apps monolocataire et l’environnement de service d’intégration (ISE, Integration Service Environment). Avec Logic App (Standard), vous pouvez utiliser les opérations de connecteur intégréesd’objet blob Azure ou les opérations du 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é (classe Standard). 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
Consommation Environnement de service d’intégration (ISE) Connecteur managé (classe Standard) et version ISE, dont les limites de messages diffèrent de celles de la classe Standard. Pour plus d’informations, consultez la documentation suivante :

- Référence du connecteur managé de Stockage Blob Azure
- Limites de messages ISE
- 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) et connecteur intégré, qui est basé sur un fournisseur de services. La version intégrée diffère de la manière suivante :

- 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

  • Dans le cas des flux de travail d’applications logiques qui s’exécutent dans un environnement de service d’intégration, la version de ce connecteur qui comporte l’étiquette ISE applique à la place les limites de messages de l’ISE.

  • Stockage Blob Azure actions de connecteur managé peuvent lire ou écrire des fichiers de 50 Mo ou plus petits. 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 d’Stockage Blob nommée Get blob content utilise implicitement la segmentation.

  • Bien que Stockage Blob Azure déclencheurs managés et intégrés ne prennent pas en charge la segmentation, les déclencheurs intégrés peuvent gérer des fichiers de 50 Mo ou plus. Toutefois, lorsqu’un déclencheur managé demande du contenu de fichier, le déclencheur sélectionne uniquement les fichiers qui sont 50 Mo ou plus petits. Pour obtenir des fichiers supérieurs à 50 Mo, suivez ce modèle :

    1. 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).

    2. 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 du déclencheur 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, un nouvel objet blob peut ne pas être en mesure de déclencher le flux de travail, de sorte que le déclencheur est ignoré.

Prérequis

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 du connecteur fournissent un seul déclencheur d’objet blob, le nom du déclencheur diffère comme suit, selon que vous utilisez un flux de travail 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 :

  1. Sur le portail Azure, ouvrez votre workflow d’application logique Consommation et un workflow vide dans le concepteur.

  2. Dans le concepteur, sous la zone de recherche, sélectionnez Standard, puis suivez ces étapes générales pour ajouter le déclencheur géré Stockage Blob Azure souhaité.

    Cet exemple continue avec le déclencheur nommé Lorsqu’un objet blob est ajouté ou modifié (propriétés uniquement).

  3. 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.

    Screenshot showing Consumption workflow, Azure Blob Storage trigger, and example connection information.

  4. 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 :

    Screenshot showing Consumption workflow with Azure Blob Storage trigger, and example trigger information.

  5. 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.

  6. Ajoutez toutes les autres actions dont votre flux de travail a besoin.

  7. 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 :

  1. Sur le portail Azure, ouvrez votre workflow d’application logique Consommation dans le concepteur.

  2. Si votre flux de travail est vide, ajoutez le déclencheur dont votre scénario a besoin.

    Cet exemple utilise le déclencheur Périodicité.

  3. Dans le concepteur, suivez ces étapes générales pour rechercher et ajouter l’action gérée Stockage Blob Azure souhaitée.

    Cet exemple continue avec l’action nommée Obtenir un contenu blob.

  4. 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.

    Screenshot showing Consumption workflow, Azure Blob action, and example connection information.

  5. 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 :

    Screenshot showing Consumption workflow with Blob action setup for root folder.

    L’exemple suivant illustre le paramétrage de l’action qui permet d’obtenir le contenu d’un objet Blob dans le sous-dossier :

    Screenshot showing Consumption workflow with Blob action setup for subfolder.

  6. Ajoutez toutes les autres actions dont votre flux de travail a besoin.

  7. 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 :

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 :

  1. Notez les adresses IP sortantes du connecteur géré dans la région de votre ressource d’application logique.

  2. Sur le Portail Azure, trouvez et ouvrez votre ressource de compte de stockage.

  3. Dans le menu de navigation du compte de stockage, sélectionnez Mise en réseau sous Sécurité + mise en réseau.

    1. Sous Autoriser l’accès à partir de, sélectionnez Réseaux sélectionnés pour afficher les paramètres concernés.

    2. 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.

      Screenshot of blob storage account networking page in Azure portal, showing firewall settings to add IP addresses and ranges to the allowlist.

    3. 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 que votre application logique accède au compte de stockage via un réseau virtuel approuvé, vous devez déployer cette application logique sur un environnement de service d’intégration (ISE), qui peut se connecter aux ressources d’un réseau virtuel. Vous pouvez ensuite ajouter les sous-réseaux de cet ISE à la liste approuvée. Les connecteurs de stockage basés sur ISE, tels que le connecteur Stockage Blob Azure version ISE, peuvent accéder directement au conteneur de stockage. Cette configuration est la même que l’utilisation de points de terminaison de service à partir d’un ISE.

  • Votre application logique et le compte de stockage sont dans des régions différentes.

    Vous n’avez pas besoin de créer de point de terminaison privé. Vous pouvez simplement autoriser le trafic via les adresses IP sortantes ISE sur le compte de stockage.

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.

    Vous n’avez pas besoin de créer de point de terminaison privé. Vous pouvez simplement autoriser le trafic via les adresses IP sortantes ISE sur le compte de stockage.

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é 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 :

  1. Configurez l’accès à votre compte de stockage.

  2. Créez une attribution de rôle pour votre application logique.

  3. 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 :

  1. Sur le Portail Azure, trouvez et ouvrez votre ressource de compte de stockage.

  2. Dans le menu de navigation du compte de stockage, sélectionnez Mise en réseau sous Sécurité + mise en réseau.

    1. Sous Autoriser l’accès à partir de, sélectionnez Réseaux sélectionnés pour afficher les paramètres concernés.

    2. 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.

    3. Sous Exception, sélectionnez Autoriser les services Microsoft approuvés à accéder à ce compte de stockage.

      Screenshot showing Azure portal and Blob Storage account networking pane with allow settings.

    4. 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 identiques pour les applications logiques Consommation dans les environnements multilocataires et les applications logiques Standard dans les environnements monolocataires.

  1. Dans le portail Azure, ouvrez votre ressource d’application logique.

  2. Dans le menu de navigation de la ressource d’application logique, sélectionnez Identité sous Paramètres.

  3. 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.

    Screenshot showing the Azure portal and logic app resource menu with the 'Identity' settings pane and 'Azure role assignment permissions' button.

  4. Sur le volet Attributions de rôle Azure, sélectionnez Ajouter une attribution de rôle.

    Screenshot showing the logic app role assignments pane with the selected subscription and button to add a new role assignment.

  5. 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.

    Screenshot of role assignment configuration pane, showing settings for scope, subscription, resource, and role.

  6. 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 :

  1. 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.

  2. Veillez à configurer le type d’authentification pour utiliser l’identité managée.

  3. 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.

Étapes suivantes