You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker部署Apache Hop Server后,如何用REST API启动工作流?

解决Apache Hop Docker容器REST API启动工作流找不到文件的问题

1. 确保Docker容器正确启动Hop Server

默认apache/hop:2.6.0镜像启动后进入交互CLI,需显式启动Hop Server并加载你的项目。使用以下启动命令:

docker run -d -p 8080:8080 \
  -v /本地项目绝对路径:/files/test \
  -e HOP_PROJECT_NAME="test-docker" \
  -e HOP_PROJECT_FOLDER="/files/test" \
  -e HOP_SERVER_USER="cluster" \
  -e HOP_SERVER_PASSWORD="cluster" \
  apache/hop:2.6.0 hop server start --host 0.0.0.0 --port 8080
  • 替换/本地项目绝对路径为你本地项目根目录的真实路径
  • 环境变量HOP_SERVER_USER和HOP_SERVER_PASSWORD是Hop Server默认的认证凭据,可按需修改

2. 验证项目是否成功加载

发送GET请求到Hop Server的项目列表接口,确认你的项目已被加载:

GET http://localhost:8080/hop/api/projects

请求需携带Basic Auth(用户名cluster,密码cluster)。返回结果中若包含"name": "test-docker"的项目条目,说明项目加载正常。

3. 正确调用REST API启动工作流

发送POST请求到工作流运行接口,请求体指定项目名称和工作流相对路径:

POST http://localhost:8080/hop/api/workflow/run

请求头设置Content-Type: application/json,并携带Basic Auth。请求体内容如下:

{
  "projectName": "test-docker",
  "workflowPath": "main.hwf",
  "parameters": {},
  "runConfig": "local"
}
  • workflowPath填写工作流文件相对于项目根目录的路径(你的main.hwf直接在项目根,所以写main.hwf即可)
  • 若工作流需要参数,在parameters对象中添加键值对

常见问题排查

  • 目录权限问题:确保本地挂载目录的权限允许容器内用户读取,可通过docker exec <容器ID> ls -l /files/test检查文件是否存在且可访问
  • 项目配置一致性:确认/files/test/project-config.json中的name字段为test-docker,project-folder字段为/files/test,与环境变量完全匹配
  • 工作流内部路径:若main.hwf引用了create_rows.hpl,确保工作流中使用的是相对项目根的路径(如${PROJECT_HOME}/create_rows.hpl),避免硬编码绝对路径

内容的提问来源于stack exchange,提问作者DanyUP

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 06:15:37