Talend & Amazon S3 : Les contours de l’intégration (1ère Partie)

Lancé en 2006 aux États-Unis, et en 2007 en Europe, Amazon Simple Storage Service est aujourd’hui un des services les plus populaires et les plus utilisés d’Amazon Web Services. Les cas d’usage avec S3 sont divers et variés : data lake, hébergement de contenu web, archivage de données, espace de partage de fichiers…

Quelles sont les capacités d’intégration de Talend avec AWS S3 ?

Quels sont les avantages à utiliser Talend avec S3 ?

Quels sont les cas d’usages possibles avec Talend et AWS S3 ?

Je vous propose à travers ce billet d’apporter quelques éléments de réponses à ces questions.

Intégration AMAZON S3 et Talend

Connectivité

Talend propose une bonne dizaine de connecteurs S3 dans la palette du studio de développement. Ils permettent une intégration simple d’AMAZON S3 dans les traitements Batchs, Map Reduce, Spark, Spark Streaming et ESB que vous développez avec le studio Talend.

Techniquement, cette large connectivité est basée sur le Software Development Kit Java d’AWS. Exception faite du connecteur cAWSS3 qui repose sur le composant Camel AWS-S3 du framework de médiation Apache Camel.

Grosso modo, les capacités couvertes par ces connecteurs sont les suivantes :

-          Gestion de buckets,

-          Gestion des objets S3,

-          Gestion des connections S3,

-          Gestion des mécanismes d’authentification et d’autorisation : Access Key & rôles IAM,

-          Gestion de la confidentialité : chiffrement des données côté client et côté serveur,

-          Chargement partitionné – Multi Part upload.

Dans la solution IPAAS Talend Integration Cloud, la connectivité S3 est également au rendez-vous. Il suffit de se rendre sur Talend Exchange et de chercher « s3 » pour afficher toutes les actions liées à S3. En effet, on parle d’actions plutôt que de connecteurs dans Talend Integration Cloud.

 

Notez qu’il est aussi possible de s’interfacer avec S3 via ses APIs natives REST et SOAP avec les connecteurs web services de Talend. L’API SOAP est néanmoins officiellement dépréciée par AWS au profit de l’API REST. L’utilisation de l’API REST peut se révéler complexe principalement à cause de la gestion des mécanismes d’authentification et d’autorisation. Cette complexité vous est épargnée lorsque vous passez par les connecteurs Talend.

Gestion des buckets

Les buckets S3 sont un élément central du service S3. Tous les fichiers que vous chargez dans S3 sont stockés dans ces buckets qui jouent le rôle de « conteneurs » d’objets. Quelques caractéristiques de ces buckets :

-          Ils permettent d’organiser le stockage des fichiers,

-          Ils peuvent contenir des répertoires pour mieux organiser le stockage des objets S3,

-          Le nom d’un bucket doit être unique au niveau global. Tous les noms de buckets populaires ou triviaux sont donc déjà pris,

-          Ils peuvent contenir un nombre illimité d’objets S3.

Cette liste de caractéristiques est bien loin d’être exhaustive et si vous êtes peu familier avec la notion de bucket, je vous conseille de commencer par lire la documentation d’AWS à ce sujet : http://docs.aws.amazon.com/fr_fr/AmazonS3/latest/dev/UsingBucket.html.

Talend propose des connecteurs tS3BucketCreate et tS3BucketDelete pour la création et la suppression de buckets. Et le test d’existence d’un bucket est possible grâce au connecteur tS3BucketExist.

Dans l’exemple ci-dessous, le job commence par tester l’existence du bucket « talend-demos ». S’il existe déjà, un simple message d’information est affiché et le job prend fin. Sinon, le bucket est créé.

 

Bien entendu, il s’agit là d’un cas d’usage très simple. Vous disposez de plus de 900 connecteurs dans le studio Talend pour développer facilement vos cas d’usages.

Il est aussi possible de lister tous les buckets S3 liés à votre compte AWS grâce au connecteur tS3BucketList. Vous pouvez ainsi de vérifier qu’un de vos buckets n’a pas été supprimé par exemple.

Ecriture, lecture et gestion des objets S3

Les objets stockés dans S3 bénéficient des SLA annoncés par AWS qui sont à ce jour les suivants :

-          Disponibilité : 99,99% pour S3 standard

-          Durabilité : 99,999999999 % sur une année donnée pour S3 standard

Utiliser cette infrastructure de stockage fiable et hautement disponible dans le cloud apparait donc très intéressant et devient même essentiel pour les entreprises qui opèrent leurs applications dans le cloud AWS, et elles sont nombreuses.

Une fois qu’on sait créer des buckets avec Talend, on peut passer à l’étape suivante, c’est-à-dire lire et écrire des objets S3 :

·         Utilisez le connecteur tS3Put pour charger un fichier de votre environnement local vers S3,

·         Utilisez le connecteur tS3Get pour télécharger un fichier depuis S3 vers votre environnement local,

·         Enfin, optez pour le connecteur tS3Copy si vous souhaitez copier un fichier d’un bucket S3 vers un autre sans le télécharger en local.

 

 

 
 

Share

Leave a comment

Ajouter un commentaire

More information?