2017-08-16 2 views
0

J'ai du mal à obtenir le chemin du dépôt complet que la bouilloire utilise. Lecture de l'aide sur les variables (link) indique que je pourrais utiliser soit « Internal.Transformation.Repository.Directory » ou « $ {} Internal.Job.Repository.Directory » en fonction si elle est un emploi ou une transformation . Cela fonctionne réellement et renvoie le chemin d'accès au fichier avec le repo en tant que root.
Depuis que j'ai besoin du "chemin complet" vers le fichier (ou le repo) - j'ai essayé le "$ {Internal.Job.Filename.Directory}" (et la transformation) mais cela retourne la chaîne "Parent Job File Directory" " (voir ci-dessous).
Comme des informations supplémentaires - Je suis connecté à un repo.Récupère le chemin du dépôt dans la bouilloire

Wanted the path :(

Mission - Comment obtenir le chemin complet du fichier (travail/transformation)?

+0

Ai-je bien compris? Vous êtes connecté à un référentiel dans lequel vous avez un travail nommé myJob qui appelle un transfo appelé myTrans. Dans myTransfo vous avez besoin d'une variable contenant le chemin complet de myJob? – AlainD

+0

Bonjour - c'est exactement le cas. Nous aimerions utiliser deux connexions db différentes, que nous stockons dans kettle.properties. Pour lire ceci et faire en sorte que le travail utilise l'environnement correct (prod/test), nous aimerions lire le fichier avec les informations de base de données. Pour lire le fichier, nous aurions besoin du chemin - donc vous avez raison! – Pixelartist

+0

J'ai proposé une solution, mais je me demande si lire le fichier de transformation (ad parse) est la solution la plus simple pour votre cas d'utilisation. Veuillez demander l'assistance pour votre cas d'utilisation spécifique. – AlainD

Répondre

0

Le répertoire de l'appelant de la transformation est le $ {Internal.Entry.Current: Directory}. C'est parce qu'un travail peut contenir un travail, alors ce qui compte est le répertoire de l'entrée dans le travail.

Remarque: Si vous exécutez directement la transformation, plutôt que de l'appeler à partir d'un travail, le fichier Internal.Job.Filename.File sera le nom générique "Parent Job File Name" plutôt que "".

enter image description here

+0

Bonjour, merci pour votre proposition de réponse - je pense qu'il y a plus (comme si être connecté à un repo ou non). J'ai utilisé le composant "Get Parameter" et ai attaché le chemin actuel comme paramètre au shell. Maintenant, je peux y accéder en passant par une transaction en le lisant. – Pixelartist