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

如何向Argo Workflows传递参数列表并通过参数解析器接收

解决Argo Workflows列表参数解析异常问题

问题原因

直接用-p传递JSON数组时,Argo会将其视为普通字符串处理,导致最终在Pod内被额外包裹一层引号,变成包含JSON字符串的数组,而非预期的字符串元素数组。

解决方案

方案1:使用参数文件传递

  1. 创建JSON格式的参数文件(例如params.json),内容如下:
{
  "my_list": ["foo", "bar", "baz"]
}
  1. 通过参数文件提交工作流:
argo submit --watch -n argo examples/workflow-input-list.yaml --parameter-file params.json

方案2:在Workflow定义中解析参数

修改Workflow里的参数引用逻辑,使用fromJson函数将字符串形式的JSON数组解析为真正的数组:

  • 假设原Workflow中参数引用代码为:
    args: ["{{inputs.parameters.my_list}}"]
    
  • 修改为:
    args: ["{{fromJson(inputs.parameters.my_list)}}"]
    

之后继续使用原命令提交即可:

argo submit --watch -n argo examples/workflow-input-list.yaml -p my_list='["foo", "bar", "baz"]'

验证

采用上述任一方案后,Pod内的输出将变为预期的["foo", "bar", "baz"]。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 07:32:45