return item with maximum sort-key in dynamodb(在 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?
我不是试图找到具有最大属性值的项目(dynamodb中的一项昂贵的任务),我想要最大的键价值.
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)
)
地点:
- 'device' 是我的哈希键
- 'epoch' 是我的排序键
- threshold 是我要在下面搜索的值
这篇关于在 dynamodb 中返回具有最大排序键的项目的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:在 dynamodb 中返回具有最大排序键的项目
基础教程推荐
- 与常规 dict 相比,Python manager.dict() 非常慢 2022-01-01
- 在 Celery 工作人员中捕获 Heroku SIGTERM 以优雅地关 2022-01-01
- 用 Python 编写 Fortran 无格式文件 2022-01-01
- 由Python将MP3转换为MIDI(类型错误:无法加载插件:mtg-Melodia:Melodia) 2022-01-01
- 尝试制作WhatsApp机器人 2022-01-01
- numpy float:比算术运算中内置的慢 10 倍? 2022-01-01
- pyserial - 可以从线程 a 写入串行端口,是否阻塞从线程 b 读取? 2022-01-01
- 将 x 轴刻度更改为自定义字符串 2022-01-01
- 使用生成器和迭代器时 Python 多循环失败 2022-01-01
- Discord.py 缺少必需的参数 2022-01-01
