2
我写了一些Python代码,我想通过排序键查询dynamoDB数据。 我记得我可以用后续的代码的成功:dynamodb如何仅通过排序键进行查询?
table.query(KeyConditionExpression=Key('event_status').eq(event_status))
我的表结构列
primary key:event_id
sort key: event_status
我写了一些Python代码,我想通过排序键查询dynamoDB数据。 我记得我可以用后续的代码的成功:dynamodb如何仅通过排序键进行查询?
table.query(KeyConditionExpression=Key('event_status').eq(event_status))
我的表结构列
primary key:event_id
sort key: event_status
,如果你想获得来自DynamoDB的数据,而无需使用散列键属性扫描API应该使用值。
实施例: -
fe = Attr('event_status').eq("new");
response = table.scan(
FilterExpression=fe
)
for i in response['Items']:
print(json.dumps(i, cls=DecimalEncoder))
while 'LastEvaluatedKey' in response:
response = table.scan(
FilterExpression=fe,
ExclusiveStartKey=response['LastEvaluatedKey']
)
for i in response['Items']:
print(json.dumps(i, cls=DecimalEncoder))
注意,扫描是不一样的查询。你将遍历所有的值,所以它比查询效率低得多。如果你真的需要高效地查询“event_status”,你应该考虑为该字段创建一个GSI。 – garnaat