如何访问 AWS Step Functions 任何节点中状态机的输入

dsi*_*ari 3 amazon-web-services aws-step-functions

假设我在 AWS Step Function 中有这个状态机:

阶跃函数示例

我是用这个输入开始的:

{
  "item1": 1,
  "item2": 2,
  "item3": 3
}
Run Code Online (Sandbox Code Playgroud)

我很清楚正在Action A接收输入有效负载。但是,如何Action C访问状态机输入来获取 的值item3?是否可以?

谢谢!!

dwr*_*ked 7

通常,可用的数据Action C将取决于结果/输出Action B

但是,如果您只关心状态机执行的原始输入,则可以Action C使用Context Object设置有效负载。

// roughly 
 "Action C": {
   "Type": "Task",
   "Resource": "arn:aws:states:::lambda:invoke",
   "Parameters": {
     "Payload.$": "$$.Execution.Input",
     "FunctionName": "<action c lambda>"
 },
Run Code Online (Sandbox Code Playgroud)

查看上下文对象的 AWS 文档