Не удается поймать исключение boto3 batch_writer

#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 .