Argo WorkflowTemplate API触发时参数注入失败问题求助
问题解决:Argo API触发WorkflowTemplate时参数注入失败
问题原因
你的请求payload结构错误,将参数嵌套在了workflowSpec字段下,但Argo API提交WorkflowTemplate时,运行时参数需要直接放在顶层的arguments字段中,而非workflowSpec内部。
正确的请求Payload
修改Python代码中的data结构如下:
data = { "resourceKind": "WorkflowTemplate", "resourceName": "hello-world-template", "namespace": "growth-signals", # 明确指定命名空间,避免环境默认值不一致 "arguments": { "parameters": [ {"name": "my_env_var", "value": "Hello World"} ] } }
补充说明
- 参数传递逻辑:WorkflowTemplate的模板参数需要通过顶层
arguments直接传递,Argo会自动将这些参数注入到模板定义的inputs.parameters中。 - 命名空间指定:显式添加
namespace字段可以确保请求定位到正确的WorkflowTemplate(你的模板部署在growth-signals命名空间下),避免因API客户端默认命名空间不一致导致的问题。 - 验证方式:可以通过Argo CLI命令快速验证参数传递是否正常,命令如下:
如果CLI执行成功,说明参数逻辑正确,再对比API请求的payload即可定位问题。argo template submit hello-world-template -n growth-signals --arguments parameters.my_env_var="Hello World"
内容的提问来源于stack exchange,提问作者John Doe Python
相关产品推荐
相关产品推荐

