Javascript 如何在DynamoDB表中插入多个项目,并在其超过最大容量时等待?
我有一个json文件,其中有大约700个条目需要插入到DynamoDB表中。我当前正在使用Transact-Write,但插入所有这些项目花费的时间太长。如何使用batchWrite,如果超过25项,则等待并再次运行该函数,直到插入所有项Javascript 如何在DynamoDB表中插入多个项目,并在其超过最大容量时等待?,javascript,node.js,amazon-web-services,amazon-dynamodb,Javascript,Node.js,Amazon Web Services,Amazon Dynamodb,我有一个json文件,其中有大约700个条目需要插入到DynamoDB表中。我当前正在使用Transact-Write,但插入所有这些项目花费的时间太长。如何使用batchWrite,如果超过25项,则等待并再次运行该函数,直到插入所有项 data.forEach(async item => { const params = { TransactItems: [ { Put: { Item: {
data.forEach(async item => {
const params = {
TransactItems: [
{
Put: {
Item: {
pk: `User_${id}`,
sk: 'v0_User_Info',
val: item.User,
editTimeStamp: `${+new Date()}`,
latest: 1,
},
TableName: 'ddb-table',
},
},
{
Put: {
Item: {
pk: `User_${id}`,
sk: 'v1_User_Info',
user: item.User,
editTimeStamp: `${+new Date()}`,
},
TableName: 'ddb-table',
},
},
],
};
await docClient.transactWrite(params).promise()
.then(response => console.log(response))
.catch(err => console.table(err))
})
};
返回名为的字段,其中包含无法处理且应重试的项。如果此列表为空,则表示所有内容都已成功写入UnprocessedItems
与批处理请求的格式完全相同,因此您应该能够直接将其传递给新的批处理请求
对于循环和重试未处理项的一些示例代码,请检查此问题以了解类似问题。返回一个名为的字段,其中包含无法处理和应重试的项。如果此列表为空,则表示所有内容都已成功写入UnprocessedItems
与批处理请求的格式完全相同,因此您应该能够直接将其传递给新的批处理请求
有关循环和重试未处理的ems
的一些示例代码,请查看下面类似的问题