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