繁体   English   中英

API网关正在覆盖AWS步骤功能状态输出

[英]API Gateway is Overwriting AWS Step Functions State Output

我正在关注本文,以为我的状态机实施手动批准步骤:

https://aws.amazon.com/blogs/compute/implementing-serverless-manual-approval-steps-in-aws-step-functions-and-amazon-api-gateway/

这是工作流程:

-execution从JSON输入开始。 类似于{“ instance-id”:“ i-xxxxxxx”,“ action”:“ stop”}之类的东西。 输入传递到手动步骤

-a lambda worker通过使用手动步骤的ARN调用GetActivityTask来轮询活动任务

-工作被带回令牌出售给工人

-worker函数使用令牌使用SES生成电子邮件。 电子邮件中的URL使用令牌调用SendTaskSuccess或SendTaskFailure。

事情做得很漂亮! 单击电子邮件中的相应URL会使状态机分别进入下一个状态或失败。 我唯一的问题是:手动步骤提供的输入被API网关GET覆盖。 因此,基本上,手动步骤的输入是上面的JSON Blob,但是输出类似:“单击了批准链接”。 (集成请求的主体映射模板)。

那么,如何使手动步骤将原始输入作为输出传递呢? 在此处输入图片说明

您应该在状态的描述中设置ApprovalState的ResultPath 默认情况下,它写入路径的“根”($),但是您可以通过在状态描述中添加"ResultPath": "$.whatever" ,将其写入$.whatever

看看Amazon State Language:Path

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM