gre*_*ter 5 callback amazon-web-services aws-lambda aws-step-functions
我使用带有 lambda 的步骤函数来使用 $$.Task.Token 和 SendTaskSuccess 进行回调。
第一次回调时一切正常。但如果我需要进行第二次回调,我会得到TaskTimedOut: Task Timed Out: 'Provided task does not exist anymore'.
我不确定是否应该保留 $$.Task.Token 中的第一个任务令牌或为每个回调生成一个新的任务令牌。但这似乎并不重要,因为我已经尝试过两者都做,并且无论哪种方式都得到相同的结果。
这不应该是可能的吗?有什么特别的事我必须做吗?
文档中任何地方都没有明确说明的重要信息(我能够找到)是 TaskToken 只能使用一次。之后,如果您尝试再次使用它,您将收到 TaskTimedOut 错误。
为了进行第二次回调,我必须在我的步骤函数和 lambda 中实现“重新配置”功能。第一个回调完成后,我的步骤函数中有一个重新准备步骤,它会进行另一个调用,向 lambdaarn:aws:states:::lambda:invoke.waitForTaskToken传递一个新参数。$$.Task.Tokenlambda 可以在稍后的某个时间使用该 TaskToken 通过 SendTaskSuccess 进行回调。
只要遵循此重新准备过程,就可以进行任意数量的回调。
| 归档时间: |
|
| 查看次数: |
4198 次 |
| 最近记录: |