Подтвердить что ты не робот

Как я могу импортировать исключение boto3 ssm ParameterNotFound?

Я хотел бы import exception, который возникает, когда параметр boto3 ssm не найден с get_parameter. Я пытаюсь добавить дополнительную функциональность ssm в библиотеку moto, но сейчас я в тупике.

>>> import boto3
>>> ssm = boto3.client('ssm')
>>> try:
        ssm.get_parameter(Name='not_found')
    except Exception as e:
        print(type(e))
<class 'botocore.errorfactory.ParameterNotFound'>
>>> from botocore.errorfactory import ParameterNotFound
ImportError: cannot import name 'ParameterNotFound'
>>> import botocore.errorfactory.ParameterNotFound
ModuleNotFoundError: No module named 'botocore.errorfactory.ParameterNotFound'; 'botocore.errorfactory' is not a package

Однако exception не может быть импортирован и, как представляется, не существует в коде botocore. Как импортировать это исключение?

4b9b3361

Ответ 1

Из Обработки ошибок Botocore

import boto3
from botocore.exceptions import ClientError

ssm = boto3.client('ssm')
try:
    ssm.get_parameter(Name='not_found')
except ClientError as e:
    print e.response['Error']['Code']

Ответ 2

mc = boto3.client('ssm')
try:
  ...
except mc.exceptions.ParameterNotFound:
  ...