tAzureStorageGet

Composants Talend Open Studio Guide de référence

EnrichVersion
6.3
EnrichProdName
Talend Open Studio for Data Quality
Talend Open Studio for Big Data
Talend Open Studio for ESB
Talend Open Studio for MDM
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 tAzureStorageGet se connecte à un compte Azure de stockage et récupère des blobs d'un conteneur donné de ce compte.

Objectif

Le tAzureStorageGet vous permet de spécifier les filtres à appliquer sur la hiérarchie virtuelle des blobs et décrire des blobs sélectionnés dans un dossier local.

Propriétés du tAzureStorageGet

Famille du composant

Cloud / Azure Storage

 

Basic settings

Use an 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.

 

Account name

Saisissez le nom du compte de stockage auquel vous devez accéder. Vous pouvez trouver un nom de compte de stockage dans le dashboard Manage Access Keys du système Microsoft Azure Storage à utiliser.

 

Account key

Saisissez la clé associée au compte de stockage auquel vous devez accéder. Deux clés sont disponibles pour chaque compte. Par défaut, n'importe laquelle peut être utilisée pour accéder au compte.

 

Protocol

Sélectionnez le protocole de la connexion à créer.

 

Container

Saisissez le nom du conteneur duquel récupérer les blobs.

 

Local folder

Saisissez le chemin d'accès ou parcourez votre système jusqu'au dossier dans lequel vous souhaitez stocker les blobs récupérés.

 

Blobs

Renseignez cette table afin de sélectionner les blobs à récupérer. Les paramètres à fournir sont :

  • Blob prefix : saisissez le préfixe commun au nom des blobs à lister. Ce préfixe vous permet de filtrer les blobs ayant un préfixe spécifié, dans leur nom, dans le conteneur donné.

    Le nom d'un blob contient la hiérarchie virtuelle du blob lui-même. Cette hiérarchie est un chemin virtuel vers ce blob et est relatif au conteneur où est stocké le blob. Par exemple, dans un conteneur nommé photos, le nom d'un blob d'une photo peut être 2014/US/Oakland/Talend.jpg.

    Pour cette raison, lorsque vous définissez un préfixe, vous créez un niveau de répertoire comme filtre de blob, par exemple, 2014/ or 2014/US/.

    Si vous souhaitez sélectionner les blobs stockés directement sous le niveau du conteneur, c'est-à-dire les blobs sans chemin virtuel dans leur nom, supprimez les guillemets et saisissez null.

  • Include subdirectories : cochez cette case afin de sélectionner tous les sous-dossiers et les blobs dans ces dossiers, sous le niveau du répertoire désigné. Si vous laissez cette case décochée, le tAzureStorageList retourne uniquement les blobs, s'il y en a, directement sous le niveau de ce répertoire.

  • Create parent directories: cochez cette case pour répliquer le répertoire virtuel des blobs récupérés dans le dossier local.

    Notez que si vous laissez cette case décochée, le répertoire doit être le même dans le dossier local que celui des blobs récupérés dans le conteneur. Sinon, ces blobs ne pourront être récupérés.

 

Die on error

Cochez cette case pour arrêter l'exécution du Job lorsqu'une erreur survient.

Décochez la case pour ignorer les lignes en erreur et terminer le processus avec les lignes sans erreur. Lorsque les erreurs sont ignorées,vous pouvez récupérer les lignes en erreur, si vous le souhaitez. Pour cela, utilisez un lien Row > Reject.

Advanced settings

tStatCatcher Statistics

Cochez cette case pour collecter les données de log, aussi bien au niveau du Job qu'au niveau de chaque composant.

Utilisation

Ce composant est utilisé en standalone.

Des connaissances de Microsoft Azure Storage sont nécessaires.

Global Variables

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.

ACCOUNT_NAME : nom du compte auquel accéder pour le stockage. Cette variable est une variable After et retourne une chaîne de caractères.

ACCOUNT_KEY : clé associée au compte pour accéder au stockage. Cette variable est une variable After et retourne une chaîne de caractères.

CONTAINER : nom du conteneur utilisé dans ce composant. Cette variable est une variable After et retourne une chaîne de caractères.

LOCAL_FOLDER : répertoire local utilisé dans ce composant. Cette variable est une variable After et retourne une chaîne de caractères.

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.

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

n/a

Scénario : Récupérer des fichiers d'un conteneur Azure Storage

Dans ce scénario, un Job a cinq composants utilise des composants Azure Storage pour écrire des fichiers dans un système Azure Storage et récupérer les fichiers sélectionnés (des blobs, dans le vocabulaire Azure Storage) de ce système.

Avant de reproduire ce scénario, vous devez avoir les droits et permissions appropriés en lecture/écriture sur les fichiers du compte de stockage Azure à utiliser. Pour plus d'informations, consultez la documentation de Microsoft pour Azure Storage : http://azure.microsoft.com/en-us/documentation/services/storage/ (en anglais).

Le conteneur talendcontainer utilisé dans ce scénario a été créé à l'aide du composant tAzureStorageContainerCreate, dans le scénario Scénario : Créer un conteneur dans Azure Storage.

Construire le Job

  1. Dans la perspective Integration du Studio, créez un Job vide, nommé azureTalend par exemple, depuis le nœud Job Designs de la vue Repository.

    Pour plus d'informations concernant la création d'un Job, consultez le Guide utilisateur du Studio Talend.

  2. Déposez un tAzureStoragePut, un tAzureStorageList, un tJava et un tAzureStorageGet dans l'espace de modélisation graphique.

  3. Connectez les composants Azure Storage à l'aide de liens Trigger > OnSubjobOk. Reliez le tAzureStorageList au tJava à l'aide d'un lien Row > Iterate.

Connexion à un compte Azure Storage

  1. Double-cliquez sur le tAzureStorageConnection pour ouvrir sa vue Component.

  2. Dans le champ Account name, saisissez le nom du compte de stockage auquel se connecter. Dans cet exemple, saisissez talendstorage, un compte créé pour la démonstration.

  3. Dans le champ Account key, collez la clé primaire ou secondaire associée au compte de stockage à utiliser. Ces clés se trouvent dans le dashboard Manage Access Key du système Azure Storage auquel se connecter.

  4. Dans la liste Protocol, sélectionnez le protocole pour l'endpoint du compte de stockage à utiliser. Dans cet exemple, sélectionnez HTTPS.

Ecrire des fichiers dans Azure Storage

  1. Double-cliquez sur le tAzureStoragePut afin d'ouvrir sa vue Component.

  2. Cochez la case Use an existing connection puis sélectionnez la connexion précédemment configurée. Dans cet exemple, sélectionnez tAzureStorageConnection_1.

  3. Dans le champ Container name, saisissez le nom du conteneur dans lequel écrire les fichiers. Dans cet exemple, le conteneur est talendcontainer, un conteneur créé dans le scénario Scénario : Créer un conteneur dans Azure Storage.

  4. Dans le champ Local folder, saisissez le chemin d'accès ou parcourez votre système jusqu'au répertoire où sont stockés les fichiers à utiliser. Dans ce scénario, des images de processus techniques sont stockées localement dans E:/photos. Saisissez E:/photos ; cela permet au tAzureStoragePut de charger tous les fichiers du dossier et des sous-dossiers dans le conteneur talendcontainer.

    Dans un but de démonstration, les photos d'exemple sont organisées comme suit, dans le dossier E:/photos :

    • Directement sous le niveau E:/photos :

      components-use_case_triakinput_1.png

      components-use_case_triakinput_2.png

      components-use_case_triakinput_3.png

      components-use_case_triakinput_4.png

    • Dans le répertoire E:/photos/mongodb/step1 :

      components-use_case_tmongodbbulkload_1.png

      components-use_case_tmongodbbulkload_2.png

      components-use_case_tmongodbbulkload_3.png

      components-use_case_tmongodbbulkload_4.png

    • Dans le répertoire E:/photos/mongodb/step2 :

      components-use_case_tmongodbbulkload_5.png

      components-use_case_tmongodbbulkload_6.png

      components-use_case_tmongodbbulkload_7.png

      components-use_case_tmongodbbulkload_8.png

  5. Dans le champ Azure Storage folder, saisissez le chemin d'accès au répertoire dans lequel vous souhaitez écrire les fichiers. Ce répertoire est directement créé dans le conteneur à utiliser, s'il n'existe pas. Dans cet exemple, saisissez photos.

    Si vous ne saisissez rien et que vous laissez les guillemets par défaut, les fichiers et leur répertoire local seront écrits directement sous le niveau du conteneur.

Vérifier le transfert des fichiers

Configurer le tAzureStorageList

  1. Double-cliquez sur le tAzureStorageList pour ouvrir sa vue Component.

  2. Cochez la case Use an existing connection et sélectionnez la connexion précédemment configurée. Dans cet exemple, sélectionnez tAzureStorageConnection_1.

  3. Dans le champ Container name, saisissez le nom du conteneur dans lequel vous devez vérifier que les fichiers existent. Dans ce scénario, saisissez talendcontainer.

  4. Sous la table Blob filter, cliquez sur le bouton [+] pour ajouter une ligne à la table.

  5. Dans la colonne Prefix, saisissez le préfixe commun au nom des fichiers (blobs) à vérifier. Ce préfixe représente un répertoire virtuel que vous désignez comme point de départ de vérification des fichiers (blobs) . Dans cet exemple, saisissez photos/.

    Pour plus d'informations concernant le nom des blobs, consultez http://msdn.microsoft.com/en-us/library/dd135715.aspx (en anglais).

  6. Dans la colonne Include sub-directories, cochez la case dans la ligne ajoutée. Cela permet au tAzureStorageList de vérifier tous les fichiers quel que soit leur niveau hiérarchique sous le point de départ désigné.

Configurer le tJava

  1. Double-cliquez sur le tJava afin d'ouvrir sa vue Component.

  2. Dans le champ Code, saisissez :

    System.out.println();
  3. Dans le panneau Outline, par défaut à gauche de la vue Component, développez le nœud tAzureStorageList.

  4. Dans le panneau Outline, déposez la variable globale CONTAINER_BLOB entre les parenthèses du code dans la vue Component afin que le code soit le suivant :

    System.out.println(((Boolean)globalMap.get("tAzureStorageList_1_CURRENT_BLOB")));

Récupérer les fichiers sélectionnés

  1. Double-cliquez sur le tAzureStorageGet pour ouvrir sa vue Component.

  2. Cochez la case Use an existing connection et sélectionnez la connexion précédemment configurée. Dans cet exemple, sélectionnez tAzureStorageConnection_1.

  3. Dans le champ Container name, saisissez le nom du conteneur duquel récupérer les fichiers. Dans ce scénario, saisissez talendcontainer.

  4. Dans le champ Local folder, saisissez le chemin d'accès ou parcourez votre système jusqu'au répertoire où stocker les fichiers récupérés. Dans cet exemple, saisissez E:/screenshots.

  5. Sous la table Blob, cliquez le bouton [+] pour ajouter une ligne à la table.

  6. Dans la colonne Prefix, saisissez le préfixe du nom commun aux fichiers (blobs) à récupérer. Dans cet exemple, saisissez photos/mongodb/.

  7. Dans la colonne Include sub-directories, cochez la case dans la nouvelle ligne. Cela permet au tAzureStorageGet de récupérer tous les fichiers (blobs) sous le niveau photos/mongodb/.

  8. Dans la colonne Create parent directories, cochez la case dans la ligne ajoutée afin de créer le même répertoire dans le dossier local spécifié que pour les blobs récupérés dans le conteneur.

    Notez que le fait d'avoir le même répertoire est nécessaire pour récupérer les blobs. Si vous laissez cette case décochée, vous devez créer le même répertoire vous-même dans le dossier local cible.

Exécuter le Job

  • Appuyez sur F6 pour exécuter ce Job.

Cela fait, la vue Run s'ouvre automatiquement. Vous pouvez examiner les résultats d'exécution.

Vous pouvez constater que le Job retourne la liste des blobs, ainsi que le préfixe photos dans le conteneur.

Vous pouvez également le constater dans la console Web du compte de stockage Azure :

Dans le dossier local spécifié, les blobs ayant le préfixe photos/mongodb/ ont été récupérés. Leur préfixe a été transformé en répertoire.