首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将密码从文件中读取为Talend上下文变量时出现异常

将密码从文件中读取为Talend上下文变量时出现异常
EN

Stack Overflow用户
提问于 2014-12-05 18:57:22
回答 1查看 1.6K关注 0票数 0

我目前有一个Talend作业,它从上下文文件中读取并输入上下文变量。我有一个名为ftppassword的字段,并将硬编码密码存储在上下文文件中。然后我在作业中有一个上下文变量,并在我的工作中引用它。

使用此设置,我的作业运行良好,但如果我将上下文文件更改为包含密码文件的位置,而不是硬编码密码,则会得到以下异常:

代码语言:javascript
复制
Exception in component
tFTPConnection_1 com.enterprisedt.net.ftp.FTPException: 530 Login
incorrect. at
com.enterprisedt.net.ftp.FTPControlSocket.validateReply(FTPControlSocket
.java:11‌​79) at
com.enterprisedt.net.ftp.FTPClient.password(FTPClient.java:1844) at
com.enterprisedt.net.ftp.FTPClient.login(FTPClient.java:1766) – 

**Edit-2014-12-08*“with value”"test_dn.zip“也尝试将ftppassword的数据类型更改为”文件“和”密码“,但没有结果。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-05 19:32:49

作业上的implicit tContextLoad选项相当于在作业开始时使用由2列组成的模式( keyvalue )放置一个tFileInputDelimited组件。然后将其读入tContextLoad (因此是选项名),以加载作业中的上下文。

如果您的密码文件不是以键值格式,那么您就不能这样使用它。

最简单的选择是坚持以前的工作方式,并使用implicit tContextLoad加载带有上下文变量键值对的分隔文件。

另一个选项是不再使用implicit tContextLoad选项执行此操作,而是显式地执行此操作。

要做到这一点,您需要使用适当的连接器(如tFileInputDelimited )读取密码文件。如果您正在阅读一些类似于/etc/passwd的内容,那么您可以在:上拆分它以获得:

  • 用户名
  • 密码
  • 用户id
  • 群id
  • 用户身份信息
  • 主目录
  • 壳体定位

然后,可以使用tMap填充以下输出模式:

  • 钥匙
  • 价值

然后输入"ftppassword"作为key,并将密码值连接到value列。您还需要过滤这个记录集,以便只设置一个密码,因此您可能希望在输出表的表达式筛选器中使用类似于"ftpUser".equals(row1.username)的tMap。

然后,只需将其连接到tContextLoad组件,您的作业就应该从/etc/passwd加载"ftpUser"用户帐户的密码。

如果您希望将一个文件路径传递给另一个包含密码的文件,以便可以拆分依赖项,并允许一个文件包含作业的所有其他上下文,但是要将密码文件保存在其他位置,那么您需要传递一个指向密码文件的上下文变量,但随后必须在作业中显式地使用它。

在这种情况下,您可能有一个在运行时加载的上下文文件,其中包含可以直接在文件中设置的上下文(如ftpremotepathftphostftpfilemask ),还有一个ftpusercredentials上下文变量,它是单独凭据文件的文件路径。

然后,该文件可以是另一个分隔文件,其中包含上下文名称和值的键值对,例如:

代码语言:javascript
复制
ftpuser,myuser
ftppasswd,p4ssw0rd

然后,在作业开始时,您将在使用包含2列的模式的tFileInputDelimited组件( keyvalue )中显式地阅读这一内容。然后,您可以将它连接到一个tContextLoad组件,这也会将第二组上下文变量加载到内存中。

然后,通过将它们称为context.ftpusercontext.ftppasswd,您可以正常地使用它们。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27322829

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档