首页 > 解决方案 > 检索 DynamoDB 表中所有数据并随后清除表的最佳方法

问题描述

我有兴趣接收位于我的 DynamoDB 表中的所有数据,然后最有效地清除表。

我已经看到如何删除一个项目并同时检索它- DynamoDB - 如何检索和删除(弹出)一个项目?. 我还看到数据库中的批量删除 - 从 DynamoDB 中删除大量项目的推荐方法是什么?.

理想情况下,我想同时清除表格并检索数据。有一个更好的方法吗?

标签: amazon-web-servicesamazon-dynamodb

解决方案


您可以从表中检索所有行,将其放入列表中,然后将列表发送到 dynamodbs 删除方法。这对我有用:

 public async Task DeleteAllReadModelEntitiesInTable()
{
    List<ReadModelEntity> readModels;

    var conditions = new List<ScanCondition>();
    readModels = await _context.ScanAsync<ReadModelEntity>(conditions).GetRemainingAsync();

    var batchWork = _context.CreateBatchWrite<ReadModelEntity>();
    batchWork.AddDeleteItems(readModels);
    await batchWork.ExecuteAsync();
}

推荐阅读