Учитывая список элементов переменной длины в Python, содержащих первичные ключи (например, itemList = ["item1","item2","item3"]
), как я могу использовать boto3 для перевода этого списка в правильный формат для пакетного запроса динамодаба?
Ясмог успешно выполнить запрос путем ручного форматирования запроса, но моя проблема заключается в том, как элегантно перевести список Python в этот формат. Я попробовал функцию сериализатора в boto3, которая кажется правильным направлением, но мне не хватает какой-то части головоломки.
import boto3
dynamodb = boto3.resource('dynamodb', region_name='us-west-2')
response = dynamodb.batch_get_item(
RequestItems={
"dynamodb-table-name": {
"Keys": [
{
'pk': {
'S': 'item1'
},
'sk': {
'S': 'ITEM'
}
},
{
'pk': {
'S': 'item2'
},
'sk': {
'S': 'ITEM'
}
}
]
}
}
)
Если я создаю сериализатор serializer = boto3.dynamodb.types.TypeSerializer()
и использую его в своем спискеЯ вернулся с {'L': [{'S': 'item1'}, {'S': 'item2'}]}