如何使用talend api传递上下文参数?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (415)

我正在尝试使用Talend API自动执行talend作业,但是当我尝试使用api传递上下文参数时,我遇到了错误。

我编码为64的json如下:

JSON='{ "actionName":"runTask", "authPass": "TalendPass", "authUser": "name@example.com", "jvmParams": [ "-Xmx256m" , "-Xms64m" ], "contextParams": ["host_mysql_db01": "failed", "database_analytics": "testing.it"],"mode": "synchronous", "taskId": 43}'

错误信息:

{"error":"Expected a ',' or ']' at character 172","returnCode":2}

我发现另一个stackoverflow问题通过API向Tacnd作业添加上下文参数而没有实际运行它但是他没有说他是如何通过它而我不能回复评论他是怎么做的

真正的talend api调用是:

wget -O file http://localhost:8080/org.talend.administrator/metaServlet?$JSON_ENCODED

我可以得到一些帮助吗?

提问于
用户回答回答于

实际上,你传递给metaservlet的json是无效的json。您可以使用http://jsonlint.com等在线验证程序进行检查。 您将contextParam指定为数组,但该语法在json中无效。它可以包含值列表(就像您使用jvmParams一样)或对象。 而且,根据Talend引用,该属性应该被称为“context”,并且必须是一个对象而不是一个数组,如下所示:

"context":{"varname1": "varvalue", "varname2": "varvalue2"}

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励