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

MarkLogic DHF执行Flow时如何从命令行传入动态参数?

解决MarkLogic DHF中Flow JSON解析错误与命令行动态传参问题

一、修复JSON解析错误(ALLOW_COMMENTS报错)

  • 找到test_flow对应的JSON配置文件(通常路径为src/main/ml-config/flows/test_flow.json)
  • 检查文件内是否存在//单行注释或/* */多行注释,标准JSON规范不支持注释,DHF默认JSON解析器未开启ALLOW_COMMENTS选项,因此必须删除所有这类注释内容
  • 示例修正:
    原错误配置:
    {
      "steps": {
        "4": {
          "sourceQuery": "SELECT * FROM project_data // 筛选指定项目数据"
        }
      }
    }
    
    修正后配置:
    {
      "steps": {
        "4": {
          "sourceQuery": "SELECT * FROM project_data"
        }
      }
    }
    
  • 保存修改后的JSON文件,重新执行Gradle命令即可解决解析错误

二、实现命令行动态传参(projectId与projectVersionDate)

  1. 配置Flow步骤的参数占位符
    在test_flow第4步的sourceQuery中,使用DHF支持的${参数名}格式定义占位符,示例:

    {
      "steps": {
        "4": {
          "sourceQuery": "SELECT * FROM project_data WHERE project_id = '${projectId}' AND version_date = '${projectVersionDate}'"
        }
      }
    }
    
  2. 通过Gradle命令传递参数
    执行hubRunFlow任务时,使用-P参数指定动态值,完整命令示例:

    ./gradlew hubRunFlow -PflowName=test_flow -Pstep=4 -PprojectId=PROJ-202405 -PprojectVersionDate=2024-05-20
    
  3. 参数生效逻辑
    DHF会自动将Flow配置中的${projectId}、${projectVersionDate}占位符,替换为命令行传入的对应参数值,执行最终拼接后的sourceQuery

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 20:40:44