更新时间:2021-12-08 GMT+08:00
分享

get_result

get_result用于获取“指定步骤”的标准输出,生成控制迭代的变量范围。

  • 目前支持获取的最大输出长度为 1M 字节,如果目标步骤的stdout超出,则execution执行时会报错终止(当然,您可以在失败后调整命令,然后触发继续执行)。
  • get_result仅在vars_iter字段内可用。
  • 获取结果的目标Job中,不允许使用GCS_JOB_START和GCS_JOB_END字段,这些字段为预留字段。

语法

job-a:
  commands_iter:
    command: echo ${1} ${2}
    vars_iter:
      - [A, B, C]
      - get_result( job-target, "split")   # <==== 注意这里,根据实际结果生成并发数量(范围)

参数说明

表1 参数说明

参数

是否必填

类型

描述

job-target

String

指定获取结果的目标Job名。

split

String

用于分割字符串的“分割符”:

  • 可以是单个字符,也可以是字符串;
  • 使用双引号来表示,如 "\n";
  • 可以使用变量,如 ${input}。

返回值

字符串。

示例

假设某目标步骤“job-1”的标准输出为:

list-1.txt
list-2.txt
list-3.txt
list-4.txt

通过get_result函数,得到迭代执行命令。

job-a:
  commands_iter:
    command: echo ${1} ${2}
    vars_iter:
      - [A, B, C]
      - get_result( job-1, "\n")   # <==== 注意这里,表示${2}的并发数量(范围)

那么在执行job-a这个步骤的时候,会实际得到如下结果:

job-a:
  commands_iter:
    command: echo ${1} ${2}
    vars_iter:
      - [A, B, C]
      - "list-1.txt,list-2.txt,list-3.txt,list-4.txt"   # <==== 注意这里,表示${2}的并发数量(范围)

相关文档