首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过json阵列的Kubernetes argo循环

通过json阵列的Kubernetes argo循环
EN

Stack Overflow用户
提问于 2019-06-05 09:58:20
回答 1查看 3.4K关注 0票数 6

我试图使用阿戈循环一个JSON对象数组,但是工作流正在返回:

failed to resolve {{item}}

工作流配置如下:

代码语言:javascript
复制
- 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 }需要更改,但是我找不到关于它的任何文档。

EN

回答 1

Stack Overflow用户

发布于 2019-08-12 10:23:52

您需要将消费参数步骤的参数调整为:

代码语言:javascript
复制
         arguments:
           parameters:          
           - name: result
             value: "{{item.name}}"
         withParam: "{{steps.generate-parameter.outputs.result}}"      

这是因为Argo正在解析getresult步骤的JSON输出。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56458255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档