使用 REST API 在 Apache Hop 服务器中启动工作流程

问题描述 投票:0回答:1

我正在尝试使用 REST API 启动 Apache Hop Worfklow,但我找不到正确的方法。

我使用 Apache Hop Server(映像 apache/hop:2.6.0)设置了一个 docker 容器,并将项目主目录安装在 /files/test 中。在项目主页中我有这些文件:

  • metadata(这是项目的元数据目录)
  • create_rows.hpl(这是一个测试管道)
  • main.hwf(这是测试工作流程)
  • 项目配置.json

我将这些环境变量传递给了进程:

  • HOP_PROJECT_NAME:“测试 Docker”
  • HOP_PROJECT_FOLDER:“/文件/测试”

然后我尝试从 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 apache-hop
1个回答
0
投票

要使用 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

© www.soinside.com 2019 - 2024. All rights reserved.