2014-06-26 2 views
1

J'utilise Talend Open Studio V5.4 pour l'intégration de données.Chemins de fichiers dynamiques dans le travail Talend

Voici une brève description du travail que j'ai créé dans Talend:

J'ai créé un nom de travail Refresh_bFO_Tabl e qui se connecte à Salesforce.com et va chercher les données de Account et Opportunity tables et avec les données qu'il remplit une base de données locale nommée OFOTaccdb.

Dans cette base de données locale, il y a deux tables bFO_Account et bFO_Opportunity qui sont remplies avec les données extraites de SalesForce.

Maintenant, pour la connexion à SalesForce, nous avons utilisé OAuth2.0 pour l'authentification. Nous avons fourni l'interface utilisateur de consumerSecret, consumerkey, dans la configuration de Talend tSalesforceComponent et les tâches s'exécutent parfaitement depuis Talend. Depuis la version 5.4, Talend Open Studio prend en charge OAuth2.0 pour le composant tSalesforceConnection. Maintenant, dans cette configuration de OAuth2.0, Talend demande les informations d'identification suivantes:

  • Salesforce Webservice URL = https://test.salesforce.com/services/oauth2

  • Consumer Key = 3MVG98RqVesxRgQ6mxmnIwk2UxKXENoAKb4Df._JBihTl5pidT3Ue17yzU_oewYx3wv.7YLxli5nsNl55_Y06

  • secret client = 5550378321918973123

  • Rappel Host = localhost

  • Callback Port = 8443

  • fichier Token = E: /OFOT_Workspace/token.properties

A noter que je fais cette demande d'un environnement interne, donc j'avais donné Webservice URL comme "test.Salesforce.com" pas comme "login.Salesforce.com".

Maintenant, comme je l'ai mentionné ci-dessus, les tâches s'exécutent parfaitement à partir de Talend, mais lorsque j'exporte ces tâches dans VS2010. Ensuite, il y a un problème avec le chemin du fichier token. Nous avons créé une interface utilisateur pour l'utilisateur final en utilisant Visual Basic. Donc, après avoir exporté ces travaux de Talend, nous les mettons dans le chemin C:\Users\SumitG\Documents\Visual Studio 2010\Olm-v2\Olm-test2\bin\Debug\Talend. Où olm-test2 est mon nom de projet VB. Après cela, nous faisons un fichier .exe de ce projet VB en utilisant le compilateur Inno Setup. Nous créons ce fichier .exe afin que chaque utilisateur puisse l'installer sur sa machine et utiliser l'interface VB pour effectuer la tâche nécessaire.

Lorsque l'utilisateur exécute le programme d'installation, son installation se passe bien mais lors de l'appel de Talend Job OAuth2.0 ne peut pas fonctionner car il n'obtient pas le fichier Token.

Pour résoudre ce problème, j'ai placé le fichier de jetons dans le répertoire d'installation afin qu'il soit également fourni à l'utilisateur. Mais cela crée un problème avec cette propriété: Token File=E:/OFOT_Workspace/token.properties car il ne correspondra plus à l'emplacement du jeton OAuth2 dans le répertoire d'installation de l'utilisateur.

Est-il possible de rendre ce chemin de fichier de jeton dynamique? Je veux qu'il pointe toujours vers le répertoire installé.

Répondre

2

Essayez d'utiliser un chemin relatif au lieu de votre chemin absolu: Token File=E:/OFOT_Workspace/token.properties

Ce serait: Token File=../token.properties

ici lorsque le travail Talend exécute recherchera le fichier dans un dossier au-dessus de l'emplacement actuel de .bat /.sh fichier, puis essayez d'ouvrir le fichier .bat/.sh que Talend génère et que vous pourriez utiliser pour l'exécution de votre travail - il aura une référence de chemin relatif aux fichiers .jar dans le dossier lib de Talend.

Questions connexes