Amazon dynamodb 查询DynamoDB时如何指定ReadCapacityUnits

Amazon dynamodb 查询DynamoDB时如何指定ReadCapacityUnits,amazon-dynamodb,dynamodb-queries,Amazon Dynamodb,Dynamodb Queries,我正在从python查询DynamoDB,我想指定查询应该使用的max ReadCapacityUnits 例如,我的表有100个ReadCapacityUnits,我只想使用其中的5%,即20 下面是我的查询,如何在此查询中指定ReadCapacityUnits paginator = ddb_client.get_paginator('query') response_iterator = paginator.paginate(TableName=table_name,

我正在从python查询DynamoDB,我想指定查询应该使用的max ReadCapacityUnits

例如,我的表有100个ReadCapacityUnits,我只想使用其中的5%,即20

下面是我的查询,如何在此查询中指定ReadCapacityUnits

paginator = ddb_client.get_paginator('query')
response_iterator = paginator.paginate(TableName=table_name,
                                       IndexName=INDEX_GSI,
                                       KeyConditionExpression=condition,
                                       ExpressionAttributeNames={ATTR_NAME: HASH_KEY},
                                       ExpressionAttributeValues={
                                           PLACEHOLDER: {'S': str(value)},
                                       },
                                       ConsistentRead=False,
                                       ScanIndexForward=False,
                                       PaginationConfig={"PageSize": 25})
你不能

你的唱片有多大

由于一个RCU最多读取4KB的数据(每秒),并且您指定的页面大小为25,因此必须有大于160字节的记录,才能让查询使用超过1个RCU

假设您的记录是1K,那么对于每个RCU,您可以读取4。因为您的页面大小是25,所以只需要7个RCU

这里的关键问题是,您没有使用快速过滤器。(好!)

使用filter express,即使数据没有返回,您仍然需要为读取的数据付费

还请注意,DDB在返回之前只读取1MB的数据。(即使过滤掉了所有记录)。这就是为什么SCAN()而不是Query()会占用您的RCU