【问题标题】:Dynamic file paths in Talend jobTalend 作业中的动态文件路径
【发布时间】:2014-06-26 05:30:02
【问题描述】:

我正在使用 Talend Open Studio V5.4 进行数据集成。

以下是我在 Talend 创建的工作的简要说明:

我创建了一个作业名称 Refresh_bFO_Table,它连接到 Salesforce.com 并从 AccountOpportunity 表和 使用该数据填充一个名为 OFOTaccdb 的本地数据库。

在这个本地数据库中有两个表bFO_AccountbFO_Opportunity 填充了从 SalesForce 检索到的数据。

现在,为了连接到 SalesForce,我们使用 OAuth2.0 进行身份验证。我们提供了consumerSecret,consumerkey, 在 Talend tSalesforceComponent 配置中重定向 uri,并且作业可以从 Talend 完美运行。

从 V5.4 开始,Talend Open Studio 支持组件 tSalesforceConnection 的 OAuth2.0。现在在此 OAuth2.0 配置中,Talend 要求提供以下凭据:

  • Salesforce 网络服务 URL=https://test.salesforce.com/services/oauth2

  • 消费者密钥= 3MVG98RqVesxRgQ6mxmnIwk2UxKXENoAKb4Df._JBihTl5pidT3Ue17yzU_oewYx3wv.7YLxli5nsNl55_Y06

  • 消费者秘密=5550378321918973123

  • 回调主机=localhost

  • 回调端口=8443

  • 令牌文件=E:/OFOT_Workspace/token.properties

请注意,我正在为内部环境制作此应用程序,因此我将 Web 服务 URL 指定为“test.Salesforce.com”而不是“login.Salesforce.com”。

现在,正如我在上面提到的,工作在 Talend 上运行良好,但是当我将这些工作导出到 VS2010 时。然后令牌文件路径有问题。我们使用 Visual Basic 为最终用户创建了一个 UI。因此,在从 Talend 导出这些工作之后,我们正在将它们放在路径中 C:\Users\SumitG\Documents\Visual Studio 2010\Olm-v2\Olm-test2\bin\Debug\Talend。 其中 olm-test2 是我的 VB 项目名称。在此之后,我们使用 Inno Setup 编译器制作了这个 VB 项目的 .exe 文件。我们正在创建这个 .exe 文件,以便每个用户都可以将其安装在他们的机器上并使用 VB 界面来完成必要的任务。

当用户运行安装程序时,他们的安装正常,但在调用 Talend Job OAuth2.0 期间无法工作,因为他们没有获得 Token 文件。

为了克服这个问题,我将令牌文件放在安装目录中,以便也将其提供给用户。 但这会给这个属性带来一个问题: Token File=E:/OFOT_Workspace/token.properties 因为它现在不再匹配用户安装目录中 OAuth2 令牌的位置。

有什么方法可以使这个令牌文件路径动态化?我希望它始终指向已安装的目录。

【问题讨论】:

    标签: visual-studio-2010 relative-path talend


    【解决方案1】:

    尝试使用相对路径而不是绝对路径:Token File=E:/OFOT_Workspace/token.properties

    这将是:Token File=../token.properties

    当 Talend 作业运行时,它将在 .bat/.sh 文件当前位置上方的一个文件夹中搜索文件,然后尝试打开 Talend 生成的和您可能正在使用的 .bat/.sh 文件您的作业执行 - 它将具有对 Talend 的 lib 文件夹中 .jar 文件的相对路径引用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-09
      • 2014-01-10
      • 1970-01-01
      • 2011-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多