Utilisation d'Amazon S3 avec Talend Management Console
Amazon S3
Amazon Simple Storage Service (S3) permet de stocker des données provenant d'Internet. Il est conçu pour faciliter l'informatique à l'échelle du Web pour les développeurs. Amazon S3 possède une interface de services Web simple que vous pouvez utiliser pour stocker et récupérer n'importe quelle quantité de données d'objets, n'importe quand, depuis n'importe quelle page Web. Il permet aux développeurs d'accéder à une infrastructure de stockage de données aussi flexible, fiable, rapide et peu coûteuse que celle utilisée par Amazon pour exécuter son propre réseau international de sites Web. Le service a pour objectif de maximiser les avantages d'échelle et de faire bénéficier les développeurs de ces avantages.
Amazon S3 stocke les données sous forme d'objets (fichiers). Il ne s'agit pas d'une couche de stockage de données. Notez également qu'Amazon Glacier optimise l'infrastructure de stockage de données d'Amazon S3 à des fins d'archivage.
Composants Amazon S3 dans Studio Talend
Talend fournit plusieurs composants dans la Palette de composants, comme montré ci-dessous. Ces composants sont créés autour des opérations exposées par Amazon S3.

Ces opérations sont :
- Créer un Bucket S3
- Supprimer un Bucket S3
- Vérifier l'existence d'un Bucket S3
- Lister tous les Buckets S3
- Ajouter des fichiers à un Bucket S3
- Extraire des fichiers depuis un Bucket S3
- Lister les fichiers d'un Bucket S3
- Supprimer des fichiers d'un Bucket S3
Ces composants sont utilisés dans les tâches Talend Management Console, comme décrit ci-dessous.
Amazon S3 connection
Procédez comme suit pour créer des connexions dans Studio Talend. Cliquez-droit sur Context (Contexte) puis cliquez sur Create context (Créer un contexte).
Donnez aws_context comme groupes et leurs trois variables de type String : aws_access_key, aws_secret_key et aws_bucket.

Utilisez ce groupe de contextes dans les Jobs Studio Talend et Talend Management Console.
Les tâches optimisant ces connexions natives S3 seront exécutées sur les moteurs Talend Management Console. Le meilleur moyen d'accéder à S3 depuis Talend AWS Infrastructure est donc d'utiliser une clé d'accès ou une clé secrète. Pour plus d'informations concernant les clés d'accès, consultez l'article Managing Access Keys for your AWS Account (en anglais).
Amazon S3 files list
Ce Job retourne une liste de fichiers stockés dans Amazon S3. Il crée une connexion à Amazon S3, récupère une liste de fichiers, filtre la liste de fichiers en conséquence puis configure le nom de fichier pour chaque fichier du flux, comme montré dans le Job ci-dessous :

Paramètres de contexte
Connexion à S3
- aws_access_key : identifiant de la clé d'accès du compte Amazon S3 à utiliser.
- aws_secret_key : clé d'accès secrète du compte Amazon S3 à utiliser.
General :
- Bucket : nom du Bucket source où le fichier est stocké.
- Folder : chemin d'accès du fichier source à lister.
- File type : type des fichiers à lister. Pour recevoir des fichiers depuis un dossier, utilisez le symbole * en tant que type de fichier.
Output schema :
- nom du Bucket où le fichier est stocké,
- chemin d'accès du fichier à télécharger,
- contenu du fichier à télécharger.
Amazon S3 files upload
Ce Job charge des fichiers dans Amazon S3. La capture d'écran ci-dessous vous donne un aperçu :

Paramètres de contexte
Connection :
- aws_access_key : identifiant de la clé d'accès du compte Amazon S3 à utiliser.
- aws_secret_key : clé d'accès secrète du compte Amazon S3 à utiliser.
General :
- nom du Bucket cible où le fichier doit être stocké,
- chemin d'accès du fichier cible à charger.
Amazon S3 file move
Ce composant déplace les fichiers dans Amazon S3. Pour l'utiliser, vous devez renseigner certains paramètres.

Paramètres de contexte
Connection :
- aws_access_key : identifiant de la clé d'accès du compte Amazon S3 à utiliser.
- aws_secret_key : clé d'accès secrète du compte Amazon S3 à utiliser.
General :
- nom du Bucket source où le fichier est stocké,
- chemin d'accès du fichier source à copier,
- nom du fichier cible,
- chemin d'accès du fichier cible.
Amazon S3 files download
Ce Job télécharge les fichiers stockés sur Amazon S3 dans le répertoire temp du moteur Cloud. Le fichier doit ensuite être traité par la tâche puis supprimé du répertoire temp.

Paramètres de contexte
Connection :
- aws_access_key : identifiant de la clé d'accès du compte Amazon S3 à utiliser.
- aws_secret_key : clé d'accès secrète du compte Amazon S3 à utiliser.
General :
- nom du Bucket source où le fichier est stocké,
- chemin d'accès du fichier source à télécharger.
Output schema :
- nom du Bucket source où le fichier est stocké,
- chemin d'accès du fichier source à télécharger,
- contenu du fichier à télécharger.
Amazon S3 file delete
Ce Job supprime les fichiers stockés sur Amazon S3.

Paramètres de contexte
Connection :
- aws_access_key : identifiant de la clé d'accès du compte Amazon S3 à utiliser.
- aws_secret_key : clé d'accès secrète du compte Amazon S3 à utiliser.
General :
- nom du Bucket source où le fichier est stocké,
- chemin d'accès du fichier source à supprimer.
Publier et exécuter sur le Cloud
- Pour publier ces Jobs sur le Cloud, cliquez-droit sur le Job depuis le Studio Talend puis sélectionnez Publish to Cloud.
- Sélectionnez l'espace de travail pour le Job à publier puis cliquez sur Finish.
- Une fois le Job publié sur le Cloud, un message avec un statut s'affiche.
- Authentifiez-vous à Talend Management Console, puis vérifiez la tâche.
- Ouvrez les paramètres avancés (Advanced Parameters), puis validez les valeurs de contexte.
- Cliquez sur Run Now, puis testez la tâche.
- Validez les logs de tâche en cliquant sur View Logs.