tS3BucketExist

Composants Talend Open Studio Guide de référence

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

Fonction

Le composant tS3BucketExist vérifie qu'un bucket existe dans Amazon S3.

"Bucket" est un terme utilisé par AWS pour les dossiers du plus haut niveau sur S3, contenant des sous-dossiers et stockant toutes vos données (objets).

Objectif

Le composant tS3BucketExist est conçu pour vérifier que le bucket spécifié existe dans Amazon S3.

Propriétés du tS3BucketExist

Famille du composant

Cloud/Amazon/S3

 

Basic settings

Use existing connection

Cochez cette case et sélectionnez le composant de connexion adéquat à partir de la liste Component List pour réutiliser les paramètres d'une connexion que vous avez déjà définie.

 

Access Key

L'ID de la clé d'accès (Access Key) identifie uniquement un compte AWS. Pour plus d'informations concernant la clé d'accès et sa sécurité, consultez le site Getting Your AWS Access Keys (en anglais).

 

Secret Key

La Secret Access Key, combinée à la clé d'accès, constitue votre accès sécurisé à Amazon S3.

Pour saisir la clé secrète, cliquez sur le bouton [...] à côté du champ Secret key, puis, dans la boîte de dialogue qui s'ouvre, saisissez le mot de passe entre guillemets doubles puis cliquez sur OK afin de sauvegarder les paramètres.

 

Inherit credentials from AWS role

Cochez cette case pour obtenir les informations d'authentification de sécurité AWS depuis la métadonnée de l'instance Amazon EC2. Pour utiliser cette option, l'instance Amazon EC2 doit être démarrée et votre Job doit être en cours d'exécution sur Amazon EC2. Pour plus d'informations, consultez Using an IAM Role to Grant Permissions to Applications Running on Amazon EC2 Instances (en anglais).

 

Assume role

Cochez cette case et spécifiez les valeurs des paramètres utilisés pour créer une nouvelle session du rôle.

  • Role ARN : nom Amazon Resource Name (ARN) du rôle.

  • Role session name : identifiant de la session du rôle.

  • Session duration (minutes) : durée (en minutes) pour laquelle est active la session du rôle.

Pour plus d'informations concernant les rôles et AssumeRole, consultez AssumeRole (en anglais).

 

Region

Spécifiez la zone géographique AWS en sélectionnant le nom d'une zone géographique dans la liste ou en saisissant le nom de la zone entre guillemets doubles ("us-east-1" par exemple) dans la liste. Pour plus d'informations sur les zones géographiques AWS, consultez Regions and Endpoints (en anglais).

 

Bucket

Nom du bucket, le dossier de plus haut niveau, sur le serveur S3.

 

Die on error

Cette case est décochée par défaut et permet de terminer le traitement avec les lignes sans erreur, et ignorer les lignes en erreur.

Advanced settings

Config client

Cochez cette case pour configurer des paramètres client.

Client parameter : sélectionnez les paramètres client dans la liste.

Value : saisissez la valeur des paramètres.

Cette option n'est pas disponible lorsque la case Use existing connection est cochée.

STS Endpoint

Cochez cette case et, dans le champ qui s'affiche, spécifiez l'endpoint du service AWS Security Token Service duquel les informations d'authentification sont récupérées.

Cette case est disponible uniquement lorsque la case Assume role est cochée.

 

tStatCatcher Statistics

Cochez cette case pour collecter les données de log au niveau des composants.

Dynamic settings

Cliquez sur le bouton [+] pour ajouter une ligne à la table. Dans le champ Code, saisissez une variable de contexte afin de sélectionner dynamiquement votre connexion à la base de données parmi celles prévues dans votre Job. Cette fonctionnalité est utile si vous devez accéder à plusieurs tables de bases de données ayant la même structure mais se trouvant dans différentes bases de données, en particulier lorsque vous travaillez dans un environnement dans lequel vous ne pouvez pas changer les paramètres de votre Job, par exemple lorsque votre Job doit être déployé et exécuté dans un Studio Talend indépendant.

Lorsqu'un paramètre dynamique est configuré, la liste Component List devient inaccessible dans la vue Basic settings.

Pour des exemples sur l'usage des paramètres dynamiques, consultez Scénario 3 : Lire des données dans des bases de données MySQL à l'aide de connexions dynamiques basées sur les variables de contexte et Scénario : Lire des données à partir de différentes bases de données MySQL à l'aide de paramètres de connexion chargés dynamiquement. Pour plus d'informations concernant les Dynamic settings et les variables de contexte, consultez le Guide utilisateur du Studio Talend.

Global Variables

BUCKET_EXIST : présence ou non d'un bucket spécifié. Cette variable est une variable Flow et retourne un booléen.

BUCKET_NAME : nom d'un bucket spécifié. Cette variable est une variable After et retourne une chaîne de caractères.

ERROR_MESSAGE : message d'erreur généré par le composant lorsqu'une erreur survient. Cette variable est une variable After et retourne une chaîne de caractères. Cette variable fonctionne uniquement si la case Die on error est décochée, si le composant a cette option.

Une variable Flow fonctionne durant l'exécution d'un composant. Une variable After fonctionne après l'exécution d'un composant.

Pour renseigner un champ ou une expression à l'aide d'une variable, appuyez sur les touches Ctrl+Espace pour accéder à la liste des variables. A partir de cette liste, vous pouvez choisir la variable que vous souhaitez utiliser.

Pour plus d'informations concernant les variables, consultez le Guide utilisateur du Studio Talend.

Utilisation

Ce composant est généralement utilisé avec d'autres composants S3, comme le tS3BucketCreate.

Log4j

Si vous utilisez une solution Talend soumise à souscription, l'activité de ce composant peut être journalisée avec la fonctionnalité log4j. Pour plus d'informations sur cette fonctionnalité, consultez le Guide utilisateur du Studio Talend.

Pour plus d'informations sur les niveaux de logs du log4j, consultez la documentation d'Apache : http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Level.html (en anglais).

Limitation

Du fait d'une incompatibilité de licence, un ou plusieurs Jar requis pour utiliser ce composant ne sont pas fournis. Vous pouvez installer les Jar manquants pour ce composant en cliquant sur le bouton Install dans l'onglet Component. Vous pouvez également trouver les Jar manquants et les ajouter dans l'onglet Modules de la perspective Integration de votre studio. Pour plus d'informations, consultez l'article Installation de modules externes sur Talend Help Center (https://help.talend.com) ou la section décrivant comment configurer le studio, dans le Guide d'installation et de migration Talend.

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

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.