Scénario : Gérer des fichiers avec Google Cloud Storage - 6.1

Composants Talend Open Studio Guide de référence

EnrichVersion
6.1
EnrichProdName
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
task
Création et développement
Gouvernance de données
Qualité et préparation de données
EnrichPlatform
Studio Talend

Le scénario suivant permet de créer un Job chargeant des fichiers à partir d'un répertoire local dans un bucket dans Google Storage. Ce Job permet ensuite d'effectuer des opérations de copie, de déplacement et de suppression sur ces fichiers, puis de lister et afficher les fichiers dans leurs buckets respectifs dans la console.

Prérequis : Vous devez posséder un compte Google Cloud Storage et avoir créé trois buckets dans le même répertoire Google Cloud Storage. Dans cet exemple, les buckets créés sont bighouse, bed_room et study_room.

Déposer et relier les composants

Afin de créer ce Job, procédez comme suit :

  1. Déposez les composants suivants de la Palette dans l'espace de modélisation graphique : un tGSConnection, un tGSPut, deux tGSCopy, un tGSDelete, un tGSList, un tIterateToFlow, un tLogRow et un tGSClose.

  2. Reliez le tGSConnection au tGSPut à l'aide d'un lien Trigger > On Subjob Ok.

  3. Reliez le tGSPut au premier tGSCopy à l'aide d'un lien Trigger > On Subjob Ok.

  4. Reliez ensuite le premier tGSCopy au second tGSCopy, le tGSCopy au tGSDelete, le tGSDelete au tGSList et le tGSList au tGSClose à l'aide de liens Trigger > On Subjob Ok.

  5. Reliez le tGSList 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

Ouvrir une connexion à Google Cloud Storage

  1. Double-cliquez sur le tGSConnection afin d'ouvrir sa vue Basic settings dans l'onglet Component.

  2. Naviguez vers la console d'API de Google dans votre navigateur afin d'accéder au projet Google contenant les services Cloud Storage que vous souhaitez utiliser.

  3. Cliquez sur Google Cloud Storage > Interoperable Access afin d'ouvrir la vue correspondante et copiez la clé d'accès et la clé secrète dans votre presse-papier.

  4. Dans la vue Component du Studio, collez la clé d'accès et la clé secrète dans les champs correspondants, respectivement Access Key et Secret Key.

Charger les fichiers dans Google Cloud Storage

  1. Double-cliquez sur le tGSPut afin d'ouvrir sa vue Basic settings dans l'onglet Component.

  2. Cochez la case Use an existing connection puis sélectionnez la connexion que vous avez configurée précédemment.

  3. Dans le champ Bucket name, saisissez le nom du bucket dans lequel vous souhaitez charger les fichiers, bighouse dans cet exemple.

  4. Dans le champ Local directory, parcourez votre système vers le dossier contenant les fichiers à charger, D:/Input/House dans cet exemple.

    La capture d'écran suivante montre les fichiers contenus dans ce dossier :

  5. Laissez les autres paramètres tels qu'ils sont.

Copier tous les fichiers d'un bucket à un autre

  1. Double-cliquez sur le premier tGSCopy afin d'ouvrir sa vue Basic settings dans l'onglet Component.

  2. Cochez la case Use an existing connection puis sélectionnez la connexion que vous avez configurée précédemment.

  3. Dans le champ Source bucket name, saisissez le nom du bucket à partir duquel vous souhaitez copier les fichiers, bighouse dans cet exemple.

  4. Cochez la case Source is a folder. Tous les fichiers contenus dans le bucket bighouse sont copiés.

  5. Dans le champ Target bucket name, saisissez le nom du bucket vers lequel vous souhaitez copier les fichiers, bed_room dans cet exemple.

  6. Sélectionnez Copy dans la liste Action.

Déplacer un fichier d'un bucket à un autre et les renommer

  1. Double-cliquez sur le second tGSCopy afin d'ouvrir sa vue Basic settings dans l'onglet Component.

  2. Cochez la case Use an existing connection puis sélectionnez la connexion que vous avez configurée précédemment.

  3. Dans le champ Source bucket name, saisissez le nom du bucket contenant le fichier que vous souhaitez déplacer, bighouse dans cet exemple.

  4. Dans le champ Source object key, saisissez la clé de l'objet à déplacer, computer_01.txt dans cet exemple.

  5. Dans le champ Target bucket name, saisissez le nom du bucket vers lequel vous souhaitez déplacer le fichier, study_room dans cet exemple.

  6. Sélectionnez Move dans la liste Action. Le fichier source défini, computer_01.txt, est déplacé du bucket bighouse vers le bucket study_room.

  7. Cochez la case Rename. Dans le champ New name, saisissez un nouveau nom pour le fichier déplacé, laptop.txt dans cet exemple.

  8. Laissez les autres paramètres tels qu'ils sont.

Supprimer un fichier dans un bucket

  1. Double-cliquez sur le tGSDelete, afin d'ouvrir sa vue Basic settings dans l'onglet Component.

  2. Cochez la case Use an existing connection puis sélectionnez la connexion que vous avez configurée précédemment.

  3. Cochez la case Delete object from bucket list. Dans la table Bucket, saisissez les informations du fichier que vous souhaitez supprimer.

    Dans cet exemple, le fichier computer_03.csv est supprimé du bucket bed_room dont les fichiers sont copiés depuis le bucket bighouse.

Lister les fichiers contenus dans les trois buckets

  1. Double-cliquez sur le tGSList afin d'ouvrir sa vue Basic settings dans l'onglet Component.

  2. Cochez la case Use an existing connection puis sélectionnez la connexion que vous avez configurée précédemment.

  3. Cochez la case List objects in bucket list. Dans la colonne Bucket name de la table Bucket, saisissez le nom des trois buckets, bighouse, study_room et bed_room.

  4. Double-cliquez sur le tIterateToFlow afin d'ouvrir sa vue Basic settings dans l'onglet Component.

  5. Cliquez sur le bouton Edit schema afin de définir les données qui sont passées au tLogRow.

    Dans cet exemple, ajoutez deux colonnes, bucketName et key, de type Object.

  6. La table Mapping est automatiquement renseignée avec les colonnes définies.

    Dans la colonne Value, saisissez globalMap.get("tGSList_2_CURRENT_BUCKET") dans la ligne bucketName et globalMap.get("tGSList_2_CURRENT_KEY") dans la ligne key, respectivement. Vous pouvez également appuyer sur Ctrl + Espace puis choisir les variables appropriées.

  7. Double-cliquez sur le tLogRow afin d'ouvrir sa vue Basic settings dans l'onglet Component.

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

Fermer la connexion à Google Cloud Storage

  1. Double-cliquez sur le tGSClose afin d'ouvrir sa vue Basic settings dans l'onglet Component.

  2. Dans la liste Component List, sélectionnez la connexion que vous souhaitez fermer.

Sauvegarder et exécuter le Job

  1. Appuyez sur Ctrl+S pour sauvegarder le Job.

  2. Appuyez sur F6 ou cliquez sur Run dans l'onglet Run afin d'exécuter le Job.

    Les fichiers contenus dans les trois buckets s'affichent. Comme attendu, les fichiers du bucket bighouse sont d'abord copiés vers le bucket bed_room. Ensuite, le fichier computer_01.txt du bucket bighouse est déplacé vers le bucket study_room puis renommé laptop.txt. Enfin, le fichier computer_03.csv est supprimé du bucket bed_room.