Boto3 - 我是否可以获取排序键以变量开头的batch_get_item的项目



我正在使用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_'
                },
            ],
        }
    }
)

不,您需要使用两个查询。如果您需要更快的响应,请并行执行它们。

最新更新