我创建了一个DynamoDB表,其中包含日志消息,每个日志消息都有一个相关的时间戳:
table = Table.create('myTable',
schema=[
HashKey('cluster'),
RangeKey('messageTimestamp', data_type=NUMBER)],
throughput={'read': 10,
'write': 5},
connection=conn)
我知道如何查询表以获取时间戳晚于给定时间戳的所有项目:
tThresh = time.time()
results = table.query(cluster__eq="clusterA", messageTimestamp__gte=tThresh)
("集群"散列键值大多是恒定的,即消息仅来自两个不同的集群)
是否可以构造一个查询来获取具有"之前和之后"时间戳的所有项目,即在一个查询中基本上组合"gte"one_answers"lte"?感谢
在4月24日之前,您不能在查询中指定Greater Than
、Lesser Than
或Between
。但截至4月24日,AWS DynamoDB已更新其API,以允许这些先进的运营商。
http://aws.typepad.com/aws/2014/04/improved-queries-and-updates-for-dynamodb.html
我已经验证了这些操作程序适用于Java SDK 1.7.7,但对于boto,我猜boto API也已经更新,你应该更新到最新的API版本并进行测试。