AWS lambda node.js

我在从node.js.写入的Lambda函数将数据保存到DynamoDB时遇到了问题。 我想问一下,如果我的代码写得不错,因为我将需要每秒钟保存约100个项目,而且我找不到其他方式将数据从Lambda函数保存到DynamoDB,而不是使用put函数。 当我尝试保存约500个项目(500条logging)时,它使任务超时延迟。 如果我保存了大约50个项目,它有时会保存所有的数据,但有时有大约20个项目,有时它不保存任何东西。 我的lambda代码:

var AWS = require("aws-sdk"); var dynamodb = new AWS.DynamoDB.DocumentClient(); var numberOfInsertedRows = 0; var actualInsertedRow = 0; var insertItem = function(oneRow, context){ var params = {}; params.TableName = 'MyTable'; params.Item = oneRow; dynamodb.put(params, function(err, data) { if (err) { console.log('ERROR'); console.log(err); context.fail('some error'); } else { actualInsertedRow++; if(actualInsertedRow == numberOfInsertedRows){ console.log('All items saved'); context.succeed('ok'); } } }); }; exports.handler = function(event, context) { numberOfInsertedRows = event.length; actualInsertedRow = 0; event.forEach(function(item){ insertItem(item, context); }); }; 

更新:现在我使用batchWriteItem这是限制在一个批次的25个logging,所以我可以用它为每个,当我有25个项目,我批量发送他们…但仍然有大的持续时间的问题(putItem是大约4000毫秒和批次约为3500毫秒,这是非常糟糕的只插入约100条logging)。 我的客户端应用程序不能等待这么长时间的响应。 什么可能是问题?