我正在尝试使用 REST API 启动 Apache Hop Worfklow,但我找不到正确的方法。
我使用 Apache Hop Server(映像 apache/hop:2.6.0)设置了一个 docker 容器,并将项目主目录安装在 /files/test 中。在项目主页中我有这些文件:
我将这些环境变量传递给了进程:
然后我尝试从 Apache Hop 服务器的 REST API 执行“main.hwf”。我尝试使用“http://localhost:8180/hop/startWorkflow?name=main”、“http://localhost:8180/hop/startWorkflow?name=main.hwf”和“http://localhost:8180” /hop/startWorkflow?name=/files/test/main.hwf”但是总是得到错误“找不到指定的工作流[main]”(显然,错误中工作流的名称根据参数而变化我用的“名字”)。
使用 REST API 启动工作流程的正确方法是什么?
我正在尝试设置一个容器,其中已加载所需的所有文件(管道和工作流程),所以我希望不需要手动将项目上传到正在运行的服务器。
要使用 REST api 启动工作流程,一种方法是在项目的元数据文件夹中设置异步 WEB 服务。你可以这样设置:
{
"filename": "${PROJECT_HOME}/main.hwf",
"bodyContentVariable": "keyValue",
"contentType": "application/json",
"name": "main",
"runConfigurationName": "",
"statusVariables": "",
"enabled": true
}
像json一样保存并放入项目的metadata/async-web-service。
重新启动容器并尝试通过 get 请求调用服务:
http://localhost:8180/hop/webService/?service=main
这里是文档链接https://hop.apache.org/manual/latest/hop-server/async-web-service.html