Я читаю документы AWS Python, такие как Клиент SNS Publish (), но не могу найти подробную информацию о том, какие исключения может генерировать функция.

Например, publish() может бросить EndpointDisabledException, но я не могу найти это документально.

Где я могу посмотреть список исключений, которые может генерировать функция BOTO3 (для Python)

9
Carl 22 Окт 2017 в 12:41

3 ответа

Лучший ответ

Почти все исключения подклассы из BotoCoreError. Я не могу найти метод для перечисления всех исключений. Посмотрите на файл Botocore Exceptions, чтобы получить список возможных исключений. Я не могу найти EndpointDisabledException. Вы используете последнюю версию?

См. Исключения Botocore.

5
helloV 22 Окт 2017 в 15:15

Вот как обрабатывать такие исключения:

import boto3
from botocore.exceptions import ClientError
import logging

try:
    response = platform_endpoint.publish(
        Message=json.dumps(message, ensure_ascii=False),
        MessageStructure='json')
    logging.info("r = %s" % response)
except ClientError as e:
    if e.response['Error']['Code'] == 'EndpointDisabled':
        logging.info('EndpointDisabledException thrown')
6
Carl 31 Окт 2017 в 16:46

Используйте клиент, а затем найдите исключение

Пример: если мы имеем дело с Cognito, то

client = boto3.client(
        'cognito-idp',....)
try:
   some code .......
except client.exceptions.UsernameExistsException as ex:
    print(ex)
0
satej sarker 18 Дек 2019 в 09:19