如何使用 talend api 传递上下文参数?
How can I pass context params using talend api?
我正在尝试使用 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}
我发现了另一个 Whosebug 问题 但他没有说他是如何通过的,我也无法回复询问他是如何通过的评论
真正的 talend api 调用是:
wget -O file http://localhost:8080/org.talend.administrator/metaServlet?$JSON_ENCODED
我能得到一些帮助吗?
实际上,您传递给 metaservlet 的 json 无效 json。您可以使用 http://jsonlint.com.
等在线验证器进行检查
您将 contextParams
属性指定为数组,但该语法在 json 中无效。数组可以包含值列表(如 jvmParams
)或对象(它们本身可以包含数组)。这是 example.
此外,根据 Talend reference,该属性应称为“context
”,并且必须是对象而不是数组,如下所示:
"context":{"varname1": "varvalue", "varname2": "varvalue2"}
我正在尝试使用 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}
我发现了另一个 Whosebug 问题
真正的 talend api 调用是:
wget -O file http://localhost:8080/org.talend.administrator/metaServlet?$JSON_ENCODED
我能得到一些帮助吗?
实际上,您传递给 metaservlet 的 json 无效 json。您可以使用 http://jsonlint.com.
等在线验证器进行检查
您将 contextParams
属性指定为数组,但该语法在 json 中无效。数组可以包含值列表(如 jvmParams
)或对象(它们本身可以包含数组)。这是 example.
此外,根据 Talend reference,该属性应称为“context
”,并且必须是对象而不是数组,如下所示:
"context":{"varname1": "varvalue", "varname2": "varvalue2"}