Talend - 从 xml 文件中读取 Ldap 的 xml 架构
Posted
技术标签:
【中文标题】Talend - 从 xml 文件中读取 Ldap 的 xml 架构【英文标题】:Talend - Read xml schema of Ldap from an xml file 【发布时间】:2014-08-28 09:09:50 【问题描述】:我在看什么?
我想从 xml 文件中读取LDAPinput
的架构。
信息:
用户将在 xml 文件中定义他想要的属性。 该作业将仅从 LDAP 文件夹中检索那些在 xml 中定义的属性。我怎样才能做到这一点?我是 talend 新手,在 SO 中找不到任何关于此的问题。
【问题讨论】:
您的意思是您只需要 LDAP 架构中的某些“列”,例如 name 和 registration_date 或标准,例如 (name=syd)&(registration_date=2010-06-29)?另外,为什么要使用 XML 来定义要返回的数据? 是的,这就是我想要的。这是为了让用户决定他们想要什么列。 这是一个非此即彼 :) 所以您希望能够过滤行和列?您能否提供一个示例 XML 输入/任何真正定义您希望如何指定列和行过滤器的输入? 对不起。没有完全阅读:)。 xml 文件将只有列名,例如名称和日期。它没有标准。 【参考方案1】:老实说,正确地执行此操作非常痛苦,我会认真重新考虑为什么需要限制从 LDAP 服务返回的列,而不仅仅是忽略无关的列。
首先,您需要解析 XML 输入以获取请求的列并将其放入列表中,然后将其放入 globalMap。
您需要做的是读取整个输出,其中包含来自正确配置的 tLDAPInput 组件的所有列,但组件的架构设置为具有单个动态列。
从这里开始,您需要使用 tJavaRow/tJavaFlex 组件来遍历 XML 输入中的预期列列表,然后从动态列的元数据中检索每个列的名称,如果列名称与您提供的值匹配XML 输入然后将值输出到输出列中。
tJavaRow/tJavaFlex 的输出模式需要包含尽可能多的列(因此您的服务的每个 LDAP 列),然后根据需要填充它们。或者,您可以输出另一个动态架构列,这意味着您不需要固定架构列,但您必须添加一个元列(即动态列内的列)与每个列名匹配。
【讨论】:
以上是关于Talend - 从 xml 文件中读取 Ldap 的 xml 架构的主要内容,如果未能解决你的问题,请参考以下文章