Scénario : Vérifier l'absence d'un bucket, le créer et lister tous les buckets S3 - 6.3

Composants Talend Guide de référence

EnrichVersion
6.3
EnrichProdName
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for Data Quality
Talend Open Studio for ESB
Talend Open Studio for MDM
Talend Real-Time Big Data Platform
task
Création et développement
Gouvernance de données
Qualité et préparation de données
EnrichPlatform
Studio Talend

Dans ce scénario, le tS3BucketExist est utilisé pour vérifier l'absence d'un bucket. Le composant tS3BucketCreate est utilisé pour créer ce bucket après confirmation de l'absence du bucket. Le tS3BucketList permet de lister tous les buckets dans Amazon S3.

Construire le Job

  1. Déposez un tS3Connection, un tS3BucketExist, un tS3BucketCreate, un tS3BucketList, un tIterateToFlow et un tLogRow dans l'espace de modélisation graphique.

  2. Reliez le tS3Connection au tS3BucketExist à l'aide d'un lien OnSubjobOk.

  3. Reliez le tS3BucketExist au tS3BucketCreate à l'aide d'un lien Run if.

  4. Reliez le tS3BucketCreate au tS3BucketList à l'aide d'un lien OnSubjobOk.

  5. Reliez le tS3BucketList au tIterateToFlow à l'aide d'un lien Row > Iterate.

  6. Reliez le tIterateToFlow au tLogRow à l'aide d'un lien Row > Main.

Configurer les composants

  1. Double-cliquez sur le tS3Connection pour ouvrir sa vue Basic settings.

  2. Dans les champ Access Key et Secret Key, saisissez vos informations d'authentification.

  3. Double-cliquez sur le composant tS3BucketExist pour ouvrir sa vue Basic settings.

  4. Cochez la case Use existing connection afin de réutiliser la connexion définie dans le composant précédent.

  5. Dans le champ Bucket, saisissez le nom du bucket afin de vérifier son existence.

  6. Double-cliquez sur le lien If afin de configurer sa condition.

  7. Dans le champ Condition, saisissez l'expression :

    !((Boolean)globalMap.get("tS3BucketExist_1_BUCKET_EXIST"))

    Ainsi, le reste du Job est exécuté si le bucket spécifié n'existe pas.

  8. Double-cliquez sur le tS3BucketCreate pour ouvrir sa vue Basic settings.

    Cochez la case Use existing connection afin de réutiliser la connexion.

    Dans le champ Bucket, saisissez le nom du bucket à créer.

  9. Double-cliquez sur le tS3BucketList pour ouvrir sa vue Basic settings.

    Cochez la case Use existing connection pour réutiliser la connexion.

  10. Double-cliquez sur le tIterateToFlow pour ouvrir sa vue Basic settings.

  11. Cliquez sur le bouton Edit schema pour ouvrir l'éditeur de schéma.

    Cliquez sur le bouton [+] pour ajouter une colonne. Nommez-la bucket_list et définissez son type à String.

    Cliquez sur OK pour valider la configuration et fermer l'éditeur.

  12. Dans la zone Mapping, appuyez sur les touches Ctrl+Espace dans le champ Value afin de sélectionner la variable tS3BucketList_1_CURRENT_BUCKET_NAME.

  13. Double-cliquez sur le tLogRow pour ouvrir sa vue Basic settings.

    Sélectionnez l'option Table (print values in cells of a table) pour un affichage optimal des résultats.

Exécuter le Job

  1. Appuyez sur les touches Ctrl + S afin de sauvegarder le Job.

  2. Appuyez sur F6 pour exécuter le Job.

    Comme affiché ci-dessus, le bucket est créé et tous les buckets sont listés.

  3. Allez dans la console Web S3 :

    Vous pouvez constater que le bucket a bien été créé sur le serveur S3.

  4. Rafraîchissez le client S3 Browser :

    La capture d'écran ci-dessus vous montre que l'action S3 Create s'est déroulée avec succès.