AWS Step Function无法将输入JSON数据传递给首个Lambda的问题咨询
你遗漏了Task配置中Parameters下的Payload参数配置,AWS Step Function调用Lambda时不会默认将状态机的执行输入传递给被调用的Lambda函数,需要显式指定传入的载荷内容。
修正后的状态机配置
StartAt: UnPackContents States: UnPackContents: Type: Task Resource: arn:aws:states:::lambda:invoke Parameters: FunctionName: ${UnPackFunctionArn} # 新增以下配置,将状态机完整输入作为Payload传给Lambda Payload.$: "$" Next: InvokeFCS InvokeFCS: # 后续步骤保持原有配置即可
配置说明
- 后缀
.$是Step Function的路径标识语法,表示该参数的值会从状态机的输入上下文路径中解析 - 值
$代表输入JSON的根路径,即传递状态机的全部输入数据;如果只需要传递部分字段,可指定对应路径,例如只传递bucketName和key可写为:
Payload: bucketName.$: "$.bucketName" key.$: "$.key"
内容的提问来源于stack exchange,提问作者Jay
相关产品推荐
相关产品推荐

