2024-10-02 06:21:05 发布
网友
user
partition_key
sort_key
user=abc@gmail.com
message=192.168.1.1
使用filterAttr,我可以使用key和value进行提取
Attr
table.scan(FilterExpression=Attr("message").eq("192.168.1.1"))
现在如何为特定用户提取
在DynamoDB中获取数据有两种主要方法scan和query
scan
query
当分区键已知时query操作可用于获取项。scan操作通过搜索整个数据库返回一个或多个项。正如您可能猜到的,query操作优于scan操作,因为它是一种性能更高的操作
在您的示例中,分区键是已知的。因此,您应该使用query操作来获取所需的数据。操作应该是这样的
table.query( { "TableName": "YOUR TABLE NAME HERE", "KeyConditionExpression": "#user = :user", "FilterExpression": "#message = :message", "ExpressionAttributeNames": {"#user":"user","#message":"message"}, "ExpressionAttributeValues": {":user": {"S":"abc@gmail.com"},":message": {"S":"192.168.1.1"}} })
在DynamoDB中获取数据有两种主要方法
scan
和query
当分区键已知时
query
操作可用于获取项。scan
操作通过搜索整个数据库返回一个或多个项。正如您可能猜到的,query
操作优于scan
操作,因为它是一种性能更高的操作在您的示例中,分区键是已知的。因此,您应该使用
query
操作来获取所需的数据。操作应该是这样的相关问题 更多 >
编程相关推荐