Это можно сделать довольно эффективно, если вы знаете список account_id
с, который вы сохранили в таблице.
В этом случае все, что вам нужно сделать, это запросить первичные ключи, один за другим, отсортировать значения с помощью ScanIndexForward=False
и ограничить результат 1 элементом с помощью Limit=1
.
Вот код на python
import boto3
import json
client = boto3.client('dynamodb')
account_ids = ['1', '2', '3']
results = []
for aid in account_ids:
result = client.query(
TableName='test-table',
KeyConditionExpression="#aid = :aid",
ExpressionAttributeNames={
'#aid': 'account_id'
},
ExpressionAttributeValues={
':aid': {
'N': aid
}
},
ScanIndexForward=False,
Limit=1,
)
results.append(result['Items'])
print(json.dumps(results, indent=2))