#python-3.x #amazon-dynamodb #boto3
#python-3.x #amazon-dynamodb #boto3
Вопрос:
Следующий код python — это batch_write в Dynamodb с использованием boto3:
try:
chunk_size = 500
for i in range(0, len(items), chunk_size):
chunk = items[i:i chunk_size]
with table.batch_writer() as batch:
for item in chunk:
dynamodb_item = {
'itemId': item['itemId'],
'time': item['time'],
'value': item['value']
}
batch.put_item( Item = dynamodb_item )
except botocore.exceptions.ClientError as error:
print(error.message)
Он выдает следующее исключение, которое касается «превышения выделенной пропускной способности», но try-catch не улавливает его.
Почему он его не улавливает?
DEBUG:botocore.parsers:Response body:
b'{"__type":"com.amazonaws.dynamodb.v20120810#ProvisionedThroughputExceededException",
"message":"The level of configured provisioned throughput for the table was exceeded.
Consider increasing your provisioning level with the UpdateTable API."}'
Ответ №1:
Вы пытаетесь перехватить botocore.exceptions.ClientError
время, когда выдается ошибка ProvisionedThroughputExceededException
. Попробуйте изменить тип исключения на just Exception
.