Exécuter une fonction Azure à la création d’un objet blob

Effectué

Imaginons que vous êtes photographe et que vous avez un site web qui montre vos photos de la journée. Comme vous êtes occupé, vous n’avez pas de planification de chargement cohérente, mais vous souhaitez notifier votre fans lorsque vous chargez une nouvelle photo. Vous décidez de créer une fonction Azure pour envoyer automatiquement un tweet chaque fois que vous chargez une image sur votre conteneur d’objets blob de Stockage Azure.

Vous apprenez ici à créer un déclencheur d’objet blob et à lui donner pour instruction d’analyser un emplacement spécifique dans votre conteneur d’objets blob de Stockage Azure.

Qu’est-ce que le Stockage Azure ?

Le Stockage Azure est la solution de stockage cloud de Microsoft qui prend en charge tous les types de données, à savoir : objets blob, files d’attente et NoSQL. L’objectif du Stockage Azure consiste à fournir un stockage de données :

  • Hautement disponible
  • Sécurisé
  • Scalable
  • Géré

Nous n’allons pas trop nous concentrer sur Stockage Azure. Au lieu de cela, nous l’utilisons pour créer des objets blob qui déclencheront l’exécution de notre fonction.

Qu’est-ce que le stockage d’objets blob Azure ?

Le stockage d’objets blob Azure est une solution de stockage d’objets conçue pour stocker de grandes quantités de données non structurées.

Par exemple, le Stockage Blob Azure est parfait pour ce qui suit :

  • Stockage de fichiers
  • Traitement de fichiers
  • Streaming de contenu vidéo et audio
  • Journalisation de données

Il existe trois types d’objets blob : les objets blob de blocs, les objets blob d’ajout et les objets blob de pages. Les objets blob de blocs sont le type le plus courant. Ils permettent de stocker efficacement des données de texte ou binaires. Les objets blob d’ajout sont comme les objet blob de blocs, mais ils sont plus conçus pour effectuer des opérations d’ajout comme la création d’un fichier journal constamment mis à jour. Enfin, les objets blob de pages sont composés de pages et conçus pour des opérations fréquentes de lecture et d’écriture aléatoires.

Qu’est-ce qu’un déclencheur d’objet blob ?

Un déclencheur d’objet blob est un déclencheur qui exécute une fonction quand un fichier est chargé ou mis à jour dans le stockage d’objets blob Azure. Functions vérifie régulièrement les modifications apportées à un conteneur de stockage, ce qui peut entraîner une certaine latence. Il existe des façons de réduire cette latence lors du déclenchement sur des conteneurs d’objets blob.

Pour créer un déclencheur d’objet blob, vous créez un compte Stockage Azure et indiquez un emplacement que le déclencheur surveille.

Comment créer un déclencheur d’objet blob

Vous pouvez créer un déclencheur d’objet blob dans le Portail Azure comme tous les déclencheurs que nous avons vus jusqu’ici. À l’intérieur de votre fonction Azure, dans la liste des types de déclencheurs prédéfinis, sélectionnez Déclencheur d’objet Blob. Vous saisissez ensuite la logique que vous souhaitez exécuter lors de la création et de la mise à jour d’un objet blob.

Le Chemin est un paramètre important à comprendre. Le Chemin d’accès indique au déclencheur d’objet blob le conteneur à surveiller pour voir si un objet blob est chargé ou mis à jour. Par défaut, la valeur de Chemin d’accès est :

samples-workitems/{name}

Décomposons ce concept en deux parties : samples-workitems et {name}. La première partie, samples-workitems, représente le conteneur d’objets blob que le déclencheur supervise. La deuxième partie, {name} , signifie que chaque type de fichier amène le déclencheur à appeler la fonction. La fonction est appelée car il n’y a aucun filtre. Par exemple, il est possible de faire en sorte que le déclencheur n’appelle la fonction qu’en cas d’ajout d’un fichier PNG avec une syntaxe de ce type :

samples-workitems/{name}.png

Le deuxième élément d’information significatif pour ce concept est le texte name. name représente un paramètre dans votre fonction Azure, qui reçoit le nom du fichier ajouté. Par exemple, si l’on charge un fichier nommé resume.txt, la fonction Azure reçoit cette valeur sous forme de chaîne par le biais d’un paramètre nommé name.

Un déclencheur d’objet blob appelle une fonction Azure quand il voit de l’activité dans un emplacement spécifique de votre compte d’objets blob de Stockage Azure. Vous définissez l’emplacement à superviser en modifiant la valeur de Chemin dans le portail Azure.