我试图使用阿戈循环一个JSON对象数组,但是工作流正在返回:
failed to resolve {{item}}
工作流配置如下:
- name: output-parameter
steps:
- - name: generate-parameter
template: getresult
- - name: consume-parameter
template: print-result
arguments:
parameters:
- name: result
value: "{{item}}"
withParam: "{{steps.generate-parameter.outputs.result}}"
- name: getresult
script:
image: python:alpine3.6
command: [python]
source: |
import json
import sys
json.dump([{"name":"Foo"},{"name":"Doe"}], sys.stdout)
- name: print-result
inputs:
parameters:
- name: result
container:
image: crweu.azurecr.io/ubuntu_run:v1.0.6
command: [sh, -c]
args: ["echo {{inputs.parameters.result}}"]如果我将实例argo循环与:
json.dump([i for i in range(20, 31)], sys.stdout)
它没有问题地打印出数字范围。
我认为这个问题是因为它不是一个简单的项目,而是一个对象,{{ item }需要更改,但是我找不到关于它的任何文档。
发布于 2019-08-12 10:23:52
您需要将消费参数步骤的参数调整为:
arguments:
parameters:
- name: result
value: "{{item.name}}"
withParam: "{{steps.generate-parameter.outputs.result}}" 这是因为Argo正在解析getresult步骤的JSON输出。
https://stackoverflow.com/questions/56458255
复制相似问题