当前位置: 首页 > 知识库问答 >
问题:

DynamoDB没有删除项目,甚至promise成功返回?

闻人宇定
2023-03-14

我使用DynamoDB DocumentClient,使用类AWS删除多个表上的项。发电机B。文档客户端

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

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

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

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

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));
  }
);

共有1个答案

袁开宇
2023-03-14

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

对于问题中的写入容量部分,它取决于您希望写入发生的速度。对于每秒1000,公式是:

1KB (0.4KB rounded up) x 1000 writes per second = 1000 write capacity units

如果您要将写入分散到更长的时间内,例如每秒100次,公式将是:

1KB (0.4KB rounded up) x 100 writes per second = 100 write capacity units
 类似资料:
  • 我正在我们的项目中实施DynamoDB。我们必须将大型数据字符串放入数据库中,所以我们将数据拆分为小块,并插入多行,其中只有一个属性值发生了更改—这是字符串的一部分。一列(范围键)包含多个零件。插入和选择数据对于大小字符串都非常有效。问题是删除项目。我了解到,当您想要删除某个项时,需要为该项指定主键(哈希键或哈希键和范围键-取决于表)。但如果我想删除对其中一个属性具有特定值的项目,该怎么办?我是否

  • 我希望if条件检查所有元素,如果if条件对所有元素都为false,则只打印一次else条件,但它会在每次WebElement中打印else中的代码。

  • 我有3个函数我想相继执行,只有当前一个函数完成了它的任务。我用“当promise”库来做这个, 就应该是这样的吗?我的印象是,我可以很容易地避免回调和它的“厄运金字塔”使用promise,还是我使用错了?

  • 问题内容: Eclipse VERSION 3.7似乎存在一些问题 当我编译单个项目(通过ant或buildProject)时,Eclipse开始在工作空间中构建所有项目,这需要很长时间。 我尝试过两种方式来构建项目- 右键单击ant文件,选择Run And And Build。 在Eclipse中右键单击项目,选择Build Project。 Eclipse会以两种方式首先开始构建其他打开的项目

  • 我只是通过终端安装android studio,我的ubuntu版本是14.04。我的计算机上已经安装了Java8。我安装android studio的程序正是这样的: sudo apt-add-repository ppa:paolorotolo/android-studio

  • 创建restful应用程序,但它不会以XML格式返回响应。即使在点击URL时控制台上也没有日志“http://localhost:8080/message/webapi/messages". 我返回一个列表,并使用@products(MediaType.APPLICATION\uxml)以XML形式返回响应。 消息资源。Java语言 Message.java 如果我不使用@XMLRootEleme