AWS DynamoDB查询调用(无结果)成本

时间:2012-12-22 03:14:27

标签: amazon-web-services amazon-dynamodb

如果我将DynamoDB用于某个项目,我目前正在研究。我想知道我是否针对特定Key执行了针对数据库的查询并且找不到它(例如:查看此UserID是否存在并获取内容,如果是)是此Query不返回任何被认为是Read和Chargeable的结果?

我希望我会做一些不会返回结果的查询(轮询信息)并需要将其考虑在内。

以下内容来自AWS网站:http://aws.amazon.com/dynamodb/pricing/

“请注意,所需的读取容量单位数取决于每秒读取的项目数,而不是API调用的数量。例如,如果您需要从表中读取每秒500项,并且如果您的项目是1KB或更少,那么您需要500个单位的读取容量。如果您执行500个单独的GetItem调用或50个BatchGetItem调用,每个调用返回10个项目无关紧要。“

2 个答案:

答案 0 :(得分:9)

您可以通过调用DynamoDB并在结果中查看ConsumedCapacityUnits来查看它。

例如,如果要为存在的项调用简单的getItem调用,则可以得到类似的内容:

Result: {Item: {fans={SS: [Billy Bob, James], }, name={S: Airplane, }, year={N: 1980, }, rating={S: *****, }}, 
  ConsumedCapacityUnits: 0.5, }

但是,当您在不存在的项目上调用它时,您会得到:

Result: {ConsumedCapacityUnits: 0.5, }

因此,即使项目不在表格中,您似乎也在消耗您的容量,因为查询仍在运行

答案 1 :(得分:0)

根据this link,扫描和查询操作之间存在差异。没有结果的查询不会产生任何费用。