在dynamodb中返回具有最大排序键的项目 [英] return item with maximum sort-key in dynamodb

查看:144
本文介绍了在dynamodb中返回具有最大排序键的项目的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I'm using a python script to access a dynamodb database in AWS.

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

I have a table with a hash key and sort key.

对于给定的哈希键,我想找到最大排序键小于某个值的项目.我该怎么办?

For a given hash key, I want to find the item with the largest sort key that is less than a certain value. How can I do that?

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

Alternatively, is there a way to find the previous item from a given key?

我不是不是试图找到具有最大 attribute 值(dynamodb中一项昂贵的任务)的物品,我想要最大的 key 值.

I am not trying to find the item with the largest attribute value (an expensive task in dynamodb), I want the largest key value.

推荐答案

我找到了答案,

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)
           )

位置:

  • 设备"是我的哈希键
  • 'epoch'是我的排序键
  • 阈值是我要在下面搜索的值

这篇关于在dynamodb中返回具有最大排序键的项目的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆