2017-12-20 20 views
0

AWS 빙하에 보관 파일을 업로드하는 작은 파이썬 응용 프로그램을 작성 중입니다. 이들의 모든 잠재력을 가지고() boto3 (AWS)로 빙하로 업로드 할 때 가능한 모든 예외를 잡을 수있는 방법

  • client.complete_multipart_upload()
    • client.initiate_multipart_upload()
    • client.upload_multipart_part : 업로드 프로세스 동안, 나는 다음과 같은 방법을 호출 연결이 끊어 지거나 요청이 너무 오래 걸리는 경우 여러 가지 예외가 발생합니다. 시도 그들을 잡기, 설정 시간이 지난 후 다시 시도 및 시도의 일련 번호 뒤에 포기

      except (botocore.exceptions.EndpointConnectionError, client.exceptions.RequestTimeoutException): 
      

      ,하지만 난 아직도 가끔 포착되지 않은 이동 다른 예외를 얻을 :

      내가 사용하고 있었다. 지금 나는 담요 사용으로 바 꾸었습니다.

      except: 
      

      진술서는 매우 만족스럽지 않습니다. 내 응용 프로그램은 다른 단계에서 AWS 계정 자격 증명, 볼트 이름 및 AWS 연결을 검사하므로 이러한 사항을 고려할 필요가 없습니다. 이 세 가지 방법을 수행하는 동안 발생할 수있는 모든 boto3 및 botocore 예외를 잡을 수있는 방법이 있습니까?

    답변

    2

    botocore.exceptions.BotoCoreError은 botocore 예외에 대한 기본 예외 클래스입니다.

    boto3.exceptions.Boto3Error은 모든 boto3 예외에 대한 기본 예외 클래스입니다.

    botocore.exceptions.ClientErrorbotocore.exceptions.ConnectionClosedErrorbotocore.exceptions.BotoCoreError을 상속하지 않습니다.

    출처 :

    https://github.com/boto/botocore/blob/develop/botocore/exceptions.py https://github.com/boto/boto3/blob/develop/boto3/exceptions.py

    +0

    이 주셔서 감사합니다! 도움을 주셔서 감사합니다. – jgjr

    +0

    대답을 승인 된 것으로 표시하십시오. – spg