Javascript 如何在DynamoDB表中插入多个项目,并在其超过最大容量时等待?

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: {

我有一个json文件,其中有大约700个条目需要插入到DynamoDB表中。我当前正在使用Transact-Write,但插入所有这些项目花费的时间太长。如何使用batchWrite,如果超过25项,则等待并再次运行该函数,直到插入所有项

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
的一些示例代码,请查看下面类似的问题