我们有一个DynamoDB表,我们认为我们可以关闭和删除它。我们将调用者关闭到查询它的Web服务(并且可以在Web服务器上查看调用者已降至零的指标),但AWS控制台仍然显示读取容量消耗大于零。
但是,与读取有关的每个其他图表都没有显示数据:获取延迟,放置延迟,查询延迟,扫描延迟,获取记录,扫描返回项目计数和查询返回项目计数均为空白。在我知道正在使用的其他表格中,这些图表显示了一些数据> 0
在我知道不的其他表格中,“读取容量”图表仅显示已配置的行,没有消耗的行。
此表仍然通过Lambda过滤和聚合来自Kinesis流的事件来编写。我已经回顾了Lambda代码,并没有专门从表中读取任何内容 - 当lambda更新或覆盖现有密钥的值时,是否会消耗读取容量?
答案 0 :(得分:2)
我使用AWS支持打开了一张票,他们能够找到消耗读取容量的IP。他们使用内部工具查询客户无法使用的日志。他们还确认,这些事件不会发送到Cloudtrail日志,Cloudtrail日志仅包含与表相关的事件,例如重新供应,有关指标的查询等。
他们也分享了与这个问题相关的这个小块:
问:当lambda更新或覆盖现有密钥的值时,是否会消耗读取容量?
答:是的,当您发出更新项操作时,Dynamodb首先执行读取/获取操作,然后执行PutItem以插入/覆盖现有项目。这是昂贵的,因为它消耗RCU和WCU。我还确认在此表上没有进行UpdateItem操作。
他们还向我指出了更多的Cloudwatch指标,这些指标更多地说明了幕后工作的内容。通过链接导航找到这个,你去
所以我的问题的唯一答案是:打开AWS Support票证。