AWS Lambda和DynamoDB流.如果执行失败怎么办?下次尝试处理相同的记录吗?
AWS Lambda and DynamoDB stream. What if execution fail? Will the next attempt process the same record?
我正在创建一个Lambda函数(JavaScript),它从几个可能的DynamoDB流源中获取一条记录。该函数包括对另一个表的DynamoDB插入,作为审计跟踪/通知系统。
假设一次执行由于节流(每秒插入太多)而失败。当我调用context.fail()时,db。如果putItem失败,我希望稍后在另一次执行时重试此记录。但是我担心订单。
我的问题是:我可以确定下一个lambda执行(在同一实例或另一个实例上执行)会得到这个错误的记录来处理吗?并且同一来源的下一个记录将不会被处理,直到这一个被成功处理?(我只有这个'reader'用于源流)。
如果没有,我该如何做到这一点?
谢谢
Dynamo流被组织成分片,在任何单个分片内的顺序被保留,记录将在继续之前重试。然而,当存在多个分片时,它们是并行处理的。
Dynamodb流自动处理分片,所以你不能保证顺序。在实践中,当你的TPS较低时,你应该只使用1个分片,以便保持顺序。但我不会依赖它相关文章:
- 使用Backbone.js处理浏览器历史记录
- Android Java 处理程序在循环中的每个记录处发布延迟
- 数据表:禁用第一个下一个上一个最后一个,并在处理时显示/搜索记录
- 对于 100 万条记录,mongo 中的批量处理非常慢
- 如何为所有输入字段添加额外的 Javascript 事件处理程序以记录点击+编辑
- 使用jsduck记录事件处理程序的最佳方式是什么
- 以何种格式记录/存储数字数据以供进一步的JavaScript处理
- jquery值更改处理程序的历史记录
- 处理$window.localstorage中的异常日志记录
- jqGrid需要很长时间才能处理大型记录
- 使用HTML5历史记录时如何处理页面刷新
- ReactJS如何处理Rails活动记录关联
- AWS Lambda和DynamoDB流.如果执行失败怎么办?下次尝试处理相同的记录吗?
- 如何在phonegap应用程序中使用jquery处理1000条记录
- 在ember.js中,处理表单提交和保存记录的逻辑应该驻留在哪个层?
- 如何记录/使用硒处理组合框和选择dijit使用的项目
- 如何在大型SPA中处理和记录Javascript中的错误
- 使用可稍后处理的防油剂存储或记录数据
- 从mongodb获取最新记录,并通过回调进行处理
- 为什么chrome仍然记录404(未找到)错误,即使在onError处理程序捕获异常后,丢失的图像