Boto3 - Могу ли я получить элементы с batch_get_item, чей ключ сортировки начинается с переменной? - PullRequest
0 голосов
/ 28 января 2019

Я использую 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_'
                },
            ],
        }
    }
)

1 Ответ

0 голосов
/ 28 января 2019

Нет, вам нужно будет использовать два запроса.Выполняйте их параллельно, если вам нужен более быстрый ответ.

...