10

我目前正在考虑是否将 DynamoDB 用于某些项目。我想知道我是否针对特定密钥对数据库执行查询并且找不到它(例如:查看此 UserID 是否存在,如果存在则获取内容)这个查询是否返回不被视为读取和收费的结果?

我希望我会进行一定数量的查询,这些查询不会返回结果(轮询信息)并且需要将其考虑在内。

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

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

4

2 回答 2

14

您可以通过调用 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, }

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

于 2012-12-23T11:59:01.380 回答
1

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

于 2015-09-25T22:59:59.240 回答