Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AWS Lambda和DynamoDB流。如果执行失败怎么办?下一次尝试是否处理相同的记录?_Javascript_Amazon Web Services_Amazon Dynamodb_Aws Lambda - Fatal编程技术网

Javascript AWS Lambda和DynamoDB流。如果执行失败怎么办?下一次尝试是否处理相同的记录?

Javascript AWS Lambda和DynamoDB流。如果执行失败怎么办?下一次尝试是否处理相同的记录?,javascript,amazon-web-services,amazon-dynamodb,aws-lambda,Javascript,Amazon Web Services,Amazon Dynamodb,Aws Lambda,我正在创建一个Lambda函数(JavaScript),它从几个可能的DynamoDB流源中获取一条记录。该函数包括另一个表上的DynamoDB插入,作为审计跟踪/通知系统 假设一次执行由于节流(每秒插入太多)而失败。 由于我在db.putItem失败时调用context.fail(),我希望稍后在另一次执行时重试此记录。但我担心订货的问题 我的问题是:我能否确保下一次lambda执行(在同一个实例或另一个实例上执行)将处理这个出错的记录?在成功处理该记录之前,不会处理同一来源的下一条记录?(对

我正在创建一个Lambda函数(JavaScript),它从几个可能的DynamoDB流源中获取一条记录。该函数包括另一个表上的DynamoDB插入,作为审计跟踪/通知系统

假设一次执行由于节流(每秒插入太多)而失败。 由于我在db.putItem失败时调用context.fail(),我希望稍后在另一次执行时重试此记录。但我担心订货的问题

我的问题是:我能否确保下一次lambda执行(在同一个实例或另一个实例上执行)将处理这个出错的记录?在成功处理该记录之前,不会处理同一来源的下一条记录?(对于源流,我只有这个“读取器”)

如果没有,我如何才能做到这一点


谢谢

Dynamo流被组织成碎片,在任何单个碎片中的排序都被保留,并且在继续之前将重试记录。但是,当存在多个碎片时,它们将并行处理

Dynamodb流自动处理分片,所以您无法保证订单。在实践中,当您的TPS较低时,您应该只使用1个碎片,以便保留顺序。但我不相信它