Ответ 1
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']
Я хотел бы 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. Как импортировать это исключение?
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']
mc = boto3.client('ssm')
try:
...
except mc.exceptions.ParameterNotFound:
...