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

Argo Workflow中creationTimestamp参数为空的原因排查

问题原因与解决方案

你的stage参数为空是因为时间戳格式化的语法错误,Argo Workflow遵循Go语言的时间格式化规则,不能直接用<%Y-%m-%d %H.%M.%S>这类格式,且你当前的变量引用语法也不符合Argo的要求。

错误点解析

  • 你写的{{workflow.creationTimestamp.<%Y-%m-%d %H.%M.%S>}}不是Argo支持的语法,Argo需要用format函数处理时间格式化,且格式字符串必须对应Go的时间参考模板(2006-01-02 15.04.05,这个模板对应年-月-日 时.分.秒的结构)。
  • 因为参数值的语法错误,stage参数没有被正确赋值,所以模板里引用{{workflow.parameters.stage}}时自然为空。

修正后的Workflow代码

apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  generateName: cdr-extraction-
spec:
  arguments:
    parameters:
      - name: stage
        # 使用format函数,基于Go时间参考模板格式化创建时间
        value: {{format "2006-01-02 15.04.05" workflow.creationTimestamp}}
  entrypoint: main
  parallelism: 2500
  templates:
    - name: main
      steps:
       - - name: get-messy-output
           template: get-messy-output-template
       - - name: get-messy-output2
           template: get-messy-output-template

    - name: get-messy-output-template
      script:
        image: alpine
        command:
          - sh
        source: |
          echo 1234
          echo abc{{workflow.parameters.stage}}
          echo 5678
          sleep 3

关键说明

  • Go的时间格式化逻辑是用**固定参考时间Mon Jan 2 15:04:05 MST 2006**作为模板,所以要得到你想要的年-月-日 时.分.秒格式,必须用2006-01-02 15.04.05作为格式字符串。
  • 修正参数值的语法后,stage参数会被正确赋值为Workflow创建时的时间戳,模板里的引用就能正常显示预期内容了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 07:37:17