Примерное количество элементов в таблице DynamoDB - это ходатайство о получении с библиотекой boto3.
Это не точное решение относительно размера элемента, но оно поможет вам составить идею. При выполнении batch_get_item(**kwargs)
вы получите ответ, включающий ConsumedCapacity
в следующей форме:
....
'ConsumedCapacity': [
{
'TableName': 'string',
'CapacityUnits': 123.0,
'ReadCapacityUnits': 123.0,
'WriteCapacityUnits': 123.0,
'Table': {
'ReadCapacityUnits': 123.0,
'WriteCapacityUnits': 123.0,
'CapacityUnits': 123.0
},
'LocalSecondaryIndexes': {
'string': {
'ReadCapacityUnits': 123.0,
'WriteCapacityUnits': 123.0,
'CapacityUnits': 123.0
}
},
'GlobalSecondaryIndexes': {
'string': {
'ReadCapacityUnits': 123.0,
'WriteCapacityUnits': 123.0,
'CapacityUnits': 123.0
}
}
},
]
...
Оттуда вы можете увидеть, сколько единиц емкости потребовалось, и вы можете извлечь и приблизительный размер предмета. Очевидно, это основано на вашей конфигурации системы из-за того, что:
Один блок запроса на чтение представляет один строго согласованный запрос на чтение или два в конечном итоге согласованных запроса на чтение для элемента размером до 4 КБ. Транзакционные запросы на чтение требуют 2 блока запроса на чтение для выполнения одного чтения для элементов размером до 4 КБ. Если вам нужно прочитать элемент размером более 4 КБ, DynamoDB потребуются дополнительные блоки запроса на чтение. Общее количество требуемых единиц запроса на чтение зависит от размера элемента и от того, хотите ли вы в конечном итоге согласованное или строго согласованное чтение.