我正在尝试使用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组件返回以下数据:
我更新了这份工作:
tRESTClient的架构是:
我使用globalMap传递数据库中的vakues:
使用的URL是:“URL / search /”+(String)globalMap.get(“row1.hashtag”)
但是当我看到结果时,我发现它使用“null”值来请求服务器。
感谢您描述每一步,因为我太初学了。
:)
答案 0 :(得分:0)
我只需要使用tFlowToIterate组件来迭代每一行,这样我们就可以访问从DB中提取的输入数据并设置动态URL。
例如,正如我之前所做的那样,工作必须如下:
BBin --main(row1) - > tFlowToITerate --iterate - > tREST ---> tExtractJSONFields ---> tMap ---> DBOUT
在tRest上,我们可以设置动态网址,如:
" SOME_URL / otherpath /&#34 +(字符串)globalMap.get(" row1.columnName&#34)