2017-10-22 11 views
1

私はSNS Client Publish()のようなAWS Pythonのドキュメントを読んでいますが、関数がスローできる例外の詳細を見つけることはできません。BOTO3関数が投げることができる例外はどこですか?

例:publish()EndpointDisabledExceptionを投げることができますが、これは文書化されていません。

はどこBOTO3機能がほぼすべての例外がBotoCoreErrorからサブクラス化され

答えて

0

これは、このような例外を処理する方法である:

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') 
2

(Pythonのために)投げることができる例外のリストを調べることができます。私はすべての例外をリストする方法を見つけることができません。可能性のある例外の一覧を取得するには、Botocore Exceptionsファイルを参照してください。 EndpointDisabledExceptionが見つかりません。最新バージョンを使用していますか?

参照:Botocore Exceptions

+0

私は、Python 2.7を使用しています。私はAWS Lambdaサーバーから例外を受け取りました。私はサーバー上でboto3バージョンを選択できることに気づいていません。リンクありがとう。そのgithubリポジトリを検索すると、https://github.com/boto/botocore/blob/0387055fc157846d300c116f5da9d63e869814a6/botocore/data/sns/2010-03-31/service-2.jsonというファイルが1つ見つかりましたが、詳細は限られています。 PHPドキュメントには次のようなものがあります。https://docs.aws.amazon.com/aws-sdk-php/v2/api/namespace-Aws.Sns.html – Carl

+0

@Carlこの特定の例外は、API呼び出しからの応答としてスローされます。 'exceptions.py'にある' ClientError' Exceptionの一部です。 – Mangohero1

+0

ありがとう@ Mangohero1私はそれを見つけて実装しましたが、現在SNSがそれを投げ捨てるのを待っています – Carl

関連する問題