返回带有dynamodb中最大排序键的项目

时间:2017-02-28 23:36:58

标签: python key amazon-dynamodb boto3

我正在使用python脚本访问AWS中的dynamodb数据库。

我有一个带有哈希键和排序键的表。

对于给定的哈希键,我想找到具有小于某个值的最大排序键的项。我怎么能这样做?

或者,有没有办法从给定的密钥中找到上一个项目?

试图找到具有最大属性值的项目(在dynamodb中是一项昂贵的任务),我想要最大的值。

1 个答案:

答案 0 :(得分:5)

我找到了答案,

import boto3
import botocore
from boto3.dynamodb.conditions import Key, Attr


dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table(table_name)

response = table.query(
              Limit = 1,
              ScanIndexForward = False,
              KeyConditionExpression=Key('device').eq(device) & Key('epoch').lte(threshold)
           )

其中:

  • 'device'是我的哈希键
  • 'epoch'是我的排序键
  • threshold是我想在下面搜索的值