我正在使用boto3来处理AWS Dynamo DB。
我想查询一次以获取排序键以两个分区键中的某个变量开头的项目。
我已经阅读了很多次文档,但这些示例都是关于获取与分区键和排序键完全匹配的项目。
我知道一个分区键可以获取排序键以 ABC_
开头的项目。
response = table.query(
KeyConditionExpression=Key('partition_key').eq(partition_key1) &
Key('sort_key').begins_with('ABC_')
)
response2 = table.query(
KeyConditionExpression=Key('partition_key').eq(partition_key2) &
Key('sort_key').begins_with('ABC_')
)
但是,是否也可以查询一次以获取排序键以ABC_
开头的两个分区键中的多个项目?
response = dynamodb.batch_get_item(
RequestItems={
'test_table': {
'Keys': [
{
'partition_key': partition_key1,
'sort_key': 'ABC_1', # begins with 'ABC_'
},
{
'partition_key': partition_key2,
'sort_key': 'ABC_2', # begins with 'ABC_'
},
],
}
}
)
不,您需要使用两个查询。如果您需要更快的响应,请并行执行它们。