En mars 2021, AWS a annoncé la nouvelle fonctionnalité “S3 Object Lambda”, qui permet de traiter et de transformer les données présentes dans S3 à la volée.
Dans plusieurs cas, les données contenues dans S3, doivent être consommés par plusieurs applications (front, applis mobile, systèmes d’analyses etc..).
Chaque consommateur de données a besoin d’une certaine structure de données. La donnée présente dans S3 doit alors être transformée avant d’être consommée.
Pour traiter ce type de transformations, les développeurs créent les lambdas proxy, qui traitent puis renvoie la donnée transformée via API Gateway.
Avec cette nouvelle fonctionnalité, les consommateurs pourront requêter S3 pour charger des données, ensuite grâce à la fonction S3 Object Lambda, la donnée sera alors
transformée au format demandé par le consommateur.
Avec S3 Object Lambda, vous pouvez ajouter votre propre code aux demandes Amazon S3 GET pour modifier et traiter les données lorsqu’elles sont renvoyées à une application.
Vous pouvez utiliser un code personnalisé pour modifier les données renvoyées par les requêtes S3 GET standard pour filtrer les lignes, redimensionner dynamiquement les images, rédiger des données confidentielles, etc.
Alimenté par les fonctions AWS Lambda, votre code s’exécute sur une infrastructure entièrement gérée par AWS, éliminant ainsi le besoin de créer et de stocker des copies dérivées de vos données ou d’exécuter des proxys, le tout sans qu’aucune modification des applications ne soit requise.
De cette façon, vous pouvez facilement présenter plusieurs vues à partir du même jeu de données et vous pouvez mettre à jour les fonctions Lambda pour modifier ces vues à tout moment.
Vous pouvez commencer à utiliser S3 Object Lambda en quelques étapes simples :
1 – Créez une fonction Lambda pour transformer les données pour votre cas d’utilisation.
2 – Créez un point d’accès Lambda d’objet S3 à partir de la console de gestion S3.
3 – Sélectionnez la fonction Lambda que vous avez créée ci-dessus.
4 – Fournissez un point d’accès S3 de prise en charge pour donner à l’objet S3 l’accès Lambda à l’objet d’origine.
5 – Mettez à jour la configuration de votre application pour utiliser le nouveau point d’accès S3 Object Lambda pour récupérer les données de S3.
Cette fonctionnalité permet de transformer à la volée les données depuis S3, sans devoir gérer une API Gateway ou des lambdas proxy.