Gestion des fichiers avec Google Drive - 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

Ce scénario décrit un Job chargeant deux fichiers dans un dossier vide Talend dans le répertoire racine de Google Drive, créant un nouveau dossier Backup dans le dossier Talend, copiant un fichier dans le dossier Backup et affichant tous les fichiers et dossiers dans le répertoire racine de Google Drive dans la console.

Prérequis :

  1. Un compte Google a été créé et le jeton d'accès permettant l'authentification pour votre requête a été généré. Pour plus d'informations concernant l'obtention de jetons d'accès, consultez Obtenir un jeton d'accès à Google Drive.

  2. Un dossier vide Talend a été créé dans le répertoire racine de Google Drive.

Ajouter et relier les composants

  1. Créez un nouveau Job et ajoutez les composants suivants en saisissant leur nom dans l'espace de modélisation graphique ou en les déposant depuis la Palette :

    • un composant tGoogleDriveConnection,

    • deux tGoogleDrivePut,

    • un tGoogleDriveCreate,

    • un tGoogleDriveCopy,

    • un tGoogleDriveList,

    • un tIterateToFlow et

    • trois tLogRow.

  2. Reliez le tGoogleDriveCreate au premier tLogRow à l'aide d'un lien Row > Main.

  3. Reliez le tGoogleDriveCopy au deuxième tLogRow à l'aide d'un lien Row > Main.

  4. Reliez le tGoogleDriveList au tIterateToFlow à l'aide d'une connexion Row > Iterate.

  5. Reliez le tIterateToFlow au troisième tLogRow à l'aide d'un lien Row > Main.

  6. Reliez le tGoogleDriveConnection au premier tGoogleDrivePut à l'aide d'un lien Trigger > On Subjob Ok.

  7. Répétez l'opération afin de relier le premier tGoogleDrivePut au second tGoogleDrivePut, reliez le second tGoogleDrivePut au tGoogleDriveCreate, reliez le tGoogleDriveCreate au tGoogleDriveCopy et le tGoogleDriveCopy au tGoogleDriveList.

Configurer les composants

Ouvrir une connexion à Google Drive

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

  2. Dans le champ Application Name, saisissez le nom de l'application requis par Google Drive pour accéder à son API. Dans cet exemple, saisissez TalendProduct.

  3. Dans le champ Access Token, saisissez le jeton d'accès requis par Google Drive pour accéder au compte Google Drive.

Charger des fichiers dans Google Drive

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

  2. Cochez la case Use Existing Connection et, dans la liste qui s'affiche, sélectionnez le composant configuré afin d'ouvrir votre connexion Google Drive. Dans cet exemple, saisissez tGoogleDriveConnection_1.

  3. Sélectionnez l'option Upload Local File et, dans le champ File, parcourez votre système ou saisissez le chemin d'accès au fichier à charger. Dans cet exemple, le chemin est le suivant : C:/Talend/Talend Release Plan.csv.

  4. Dans le champ File Title, saisissez le nom du fichier après chargement. Dans cet exemple, saisissez Talend Release Plan.csv.

  5. Dans le champ Destination Folder Name, saisissez le nom du dossier dans lequel le fichier sera stocké dans Google Drive. Dans cet exemple, saisissez Talend.

  6. Double-cliquez sur le second tGoogleDrivePut pour ouvrir sa vue Basic settings.

  7. Répétez les étapes de Étape 2 à Étape 5 pour charger un autre fichier local dans le dossier Talend de Google Drive. Dans cet exemple, saisissez Talend Products.txt.

Créer un nouveau dossier dans Google Drive

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

  2. Cochez la case Use Existing Connection et, dans la liste qui s'affiche, sélectionnez le composant configuré pour ouvrir votre connexion à Google Drive.

  3. Dans le champ Parent Folder Name, saisissez le nom du dossier dans lequel créer un nouveau dossier. Dans cet exemple, saisissez Talend.

  4. Dans le champ New Folder Name, saisissez le nom du dossier à créer. Dans cet exemple, saisissez Backup.

  5. Cliquez sur le bouton [...] à côté de Edit schema pour voir le schéma prédéfini du tGoogleDriveCreate.

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

  7. Dans la zone Mode, sélectionnez Table (print values in cells of a table) pour un affichage optimal des résultats.

Copier un fichier dans le nouveau dossier

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

  2. Cochez la case Use Existing Connection et, dans la liste qui s'affiche, sélectionnez le composant configuré pour ouvrir votre connexion à Google Drive.

  3. Dans le champ File Name, saisissez le nom du fichier à copier. Dans cet exemple, saisissez Talend Release Plan.csv.

  4. Dans le champ Destination Folder Name, saisissez le nom du dossier dans lequel copier le fichier. Dans cet exemple, saisissez Backup.

  5. Cochez la case Rename (set new title) et, dans le champ Destination Name qui s'affiche, saisissez un nouveau nom pour le fichier après copie dans le dossier de destination. Dans cet exemple, saisissez Talend Release Plan v1.0.csv.

  6. Cliquez sur le bouton [...] à côté de Edit schema pour voir le schéma prédéfini du tGoogleDriveCopy.

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

  8. Dans la zone Mode, sélectionnez Table (print values in cells of a table) pour un affichage optimal des résultats.

Lister les fichiers et dossiers dans Google Drive

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

  2. Cochez la case Use Existing Connection et, dans la liste qui s'affiche, sélectionnez le composant configuré pour ouvrir votre connexion à Google Drive.

  3. Dans le champ Folder Name, saisissez le nom du dossier à itérer. Dans cet exemple, utilisez le dossier racine de Google Drive. Vous pouvez utiliser l'alias root pour y faire référence.

  4. Sélectionnez Both dans la liste FileList Type afin de lister les fichiers et dossier dans le répertoire racine.

    Cochez la case Includes subdirectories afin d'itérer également sur les sous-répertoires du répertoire racine.

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

  6. Cliquez sur le bouton [...] à côté de Edit schema pour ouvrir l'éditeur du schéma.

    Cliquez quatre fois sur le bouton [+] pour ajouter quatre colonnes : ID, Title et MimeType de type String et Size de type Long.

    Cliquez sur OK afin de valider les modifications et acceptez la propagation proposée par la boîte de dialogue.

  7. Dans la table Mapping, renseignez la valeur pour chaque colonne en sélectionnant la cellule correspondante dans la colonne Value et en appuyant sur les touches Ctrl+Espace. Dans la liste des variables qui s'affiche, sélectionnez la variable globale correspondant au composant tGoogleDriveList. Dans cet exemple, sélectionnez :

    • ((String)globalMap.get("tGoogleDriveList_1_ID")) pour la colonne ID,

    • ((String)globalMap.get("tGoogleDriveList_1_TITLE")) pour la colonne Title,

    • ((String)globalMap.get("tGoogleDriveList_1_MIME_TYPE")) pour la colonne MimeType et

    • ((Long)globalMap.get("tGoogleDriveList_1_SIZE")) pour la colonne Size.

  8. Double-cliquez sur le troisième tLogRow pour ouvrir sa vue Basic settings.

  9. Dans la zone Mode, sélectionnez Table (print values in cells of a table) pour un affichage optimal des résultats.

Sauvegarder et exécuter le Job

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

  2. Exécutez le Job en appuyant sur F6 ou en cliquant sur l'onglet Run dans l'onglet Run.

    Comme affiché dans la capture d'écran ci-dessus, deux fichiers Talend Products.txt et Talend Release Plan.csv ont été chargés dans le dossier Talend. Un nouveau dossier Backup a été créé dans le dossier Talend et le fichier Talend Release Plan.csv a été copié dans le nouveau dossier et renommé Talend Release Plan v1.0.csv. Finalement, les fichiers et dossiers sont listés et affichés dans la console.