带有动态URL和来自DB的参数的tRestClient Talend返回null

时间:2014-12-31 16:33:39

标签: json postgresql rest dictionary talend

我正在尝试使用Talend通过来自数据库的一些关键字从REST Web服务获取一些数据。

我试图链接̶t̶P̶o̶s̶g̶r̶e̶s̶q̶l̶I̶n̶p̶u̶t̶组元到TREST分量并且了解如何传递DB行值在URL中,̶但其似乎TREST不接受之类的东西̶t̶h̶i̶s̶.̶

T̶h̶i̶s̶̶i̶s̶̶w̶a̶h̶t̶̶I̶̶d̶i̶d̶̶u̶n̶t̶i̶l̶̶t̶h̶i̶s̶̶t̶i̶m̶e̶̶:̶

̶t̶P̶o̶s̶g̶r̶e̶s̶q̶l̶I̶n̶p̶u̶t̶XXXXXX TREST̶-̶-̶-̶>̶̶t̶E̶x̶t̶r̶a̶c̶t̶J̶S̶O̶N̶F̶i̶e̶l̶d̶s̶̶-̶-̶-̶>̶TMAP̶-̶-̶-̶>̶̶t̶P̶o̶s̶g̶r̶e̶s̶q̶l̶O̶u̶t̶p̶u̶t̶

我验证了DB组件返回以下数据:

enter image description here

我更新了这份工作:

enter image description here

tRESTClient的架构是:

enter image description here

我使用globalMap传递数据库中的vakues:

使用的URL是:“URL / search /”+(String)globalMap.get(“row1.hashtag”)

但是当我看到结果时,我发现它使用“null”值来请求服务器。

感谢您描述每一步,因为我太初学了。

:)

1 个答案:

答案 0 :(得分:0)

我只需要使用tFlowToIterate组件来迭代每一行,这样我们就可以访问从DB中提取的输入数据并设置动态URL。

例如,正如我之前所做的那样,工作必须如下:

BBin --main(row1) - > tFlowToITerate --iterate - > tREST ---> tExtractJSONFields ---> tMap ---> DBOUT

在tRest上,我们可以设置动态网址,如:

" SOME_URL / otherpath /&#34 +(字符串)globalMap.get(" row1.columnName&#34)