我们有一个 DynamoDB 表,我们认为我们可以关闭和删除它。我们关闭了对查询它的 Web 服务的调用方(并且可以在 Web 服务器指标上看到调用方已降至零),但 AWS 控制台仍显示读取容量消耗大于零。
但是,所有其他与读取相关的图表都没有显示数据:获取延迟、放置延迟、查询延迟、扫描延迟、获取记录、扫描返回的项目计数和查询返回的项目计数都是空白的。在我知道正在使用的其他表格上,这些图表显示了一些 > 0 的数据。
在我知道的其他 table 上 不是 要使用,读取容量图只显示已配置的行,没有消耗的行。
该表仍在通过 Lambda 过滤和聚合来自 Kinesis 流的事件写入。我已经查看了 Lambda 代码,它没有专门从表中读取任何内容——当 lambda 更新或覆盖现有键的值时,读取容量是否会被消耗?
最佳答案
我向 AWS 支持开了一张票,他们能够找到消耗读取容量的 IP。他们使用内部工具来查询客户无法使用的日志。他们还确认,这些事件不会发送到 Cloudtrail 日志,这些日志仅包含与表相关的事件,例如重新配置、有关指标的查询等。
他们还分享了与问题相关的这个金块:
Q: Does read capacity get consumed when the lambda updates or overwrites the value for an existing key?
A: Yes, when you issue an update item operation, Dynamodb does a Read/Get operation first and then does a PutItem to insert/overwrite existing Item. This is expensive as it consumes both RCU and WCU. I did also verify that there are no UpdateItem operations being made on this table.
他们还向我指出了更多 Cloudwatch 指标,这些指标更清楚地说明了幕后 table 的情况。通过带有链接的导航找到这个,你去
指标将按表名组织。最有用的是操作=查询,度量名称=返回的项目计数。
所以我的问题的唯一答案是:打开 AWS Support 票证。
关于amazon-web-services - 如何找出消耗我的 DynamoDb 表读取容量的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47339948/