首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >DynamoDB没有删除这个项目,即使承诺成功地回来了?

DynamoDB没有删除这个项目,即使承诺成功地回来了?
EN

Stack Overflow用户
提问于 2018-05-15 10:14:27
回答 1查看 591关注 0票数 1

我使用DynamoDB DocumentClient在多个表上使用班级: AWS.DynamoDB.DocumentClient删除项。

问题是,当我尝试使用promised.all()删除多个表时,它没有删除该项,但没有从AWS返回任何异常。我在想是因为我没有兑现承诺吗?

另一件事是,在DynamoDB页面上,它提到了写容量如下:

一个写入容量单元表示高达1KB大小的项每秒写一次。如果您需要编写大于1KB的项,DynamoDB将需要消耗额外的写入容量单位。所需写入容量单元的总数取决于项目大小。

如果我的每个项目是0.4KB,我想删除1000项,它将是400 KB,那么我应该设置写容量单位为400或1000?(如果我不推迟请求)。

代码语言:javascript
复制
return Promise.all([deleteItemOnTable(table1), deleteItemOnTable(table2)]);

var documentClient = new AWS.DynamoDB.DocumentClient();

function deleteItemOnTable(tablePramas, dataToBeDeleted){
var params = {
  TableName : 'TableName',
  Key: {
    HashKey: 'hashkey',
    NumberRangeKey: 1
  }
};
dataToBeDeleted.forEach(item=>
  var chain = Promise.resolve();
  chain = chain.
    then(()=>{
      documentClient.delete(params, function(err, data) {
        if (err) console.log(err);
        else console.log(data);
      });
    }).then(() => delay(10));
  }
);

EN

回答 1

Stack Overflow用户

发布于 2018-05-16 07:28:50

听起来你的查询参数对你的数据没有任何影响。你的数据是什么样子的?

对于问题的写作能力部分,这取决于您希望写的速度。在1000秒内,公式是:

代码语言:javascript
复制
1KB (0.4KB rounded up) x 1000 writes per second = 1000 write capacity units

如果您要在更长的时间内(例如每秒100次)将写入内容,则公式如下:

代码语言:javascript
复制
1KB (0.4KB rounded up) x 100 writes per second = 100 write capacity units
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50347656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档