AWS Step Functions - 包括所有步骤输入但添加一个参数

问题描述

假设我有一个 AWS 步骤函数,它只是将输出从第一步传递到第二步。但是现在假设我需要为第二步添加一个额外的输入值。

如何设置第二步的参数以保留所有输入字段(不单独指定它们)并添加新的输入值?

我能得到的最接近的是像这样设置参数:

"Second Step": {
  "Type": "Task","Resource": "arn:aws:lambda:blahblahblah","InputPath": "$","Parameters": {
    "Input.$":"$","additionalValue": "ABC"
  }
}

但这会导致将所有输入值推送到新的“输入”键下,我真的只希望它们位于字典的根目录中。我可以发誓,我曾经看到过某种神奇的表达方式,使这项工作达到了我想要的效果,但现在我找不到了。

AWS 现在有一个 simulator you can try this in。将 InputPath 设置为 $,将 Parameters 设置为 {"Input.$":"$","additionalValue":"ABC"} 以查看这种情况的示例。

解决方法

您可以使用 ResultSelector 进行这种操作。但它只能应用于输出步骤。使用这种方法,您需要

  • 使用 ResultSelector 更改上一步的输出
  • 创建一个传递步骤,添加您想要的静态附加值