Cloud Storage 오류 및 오류 처리

Google Cloud Storage는 App Engine UrlFetch 기능에 의해 액세스됩니다. 결과적으로 발생할 수 있는 오류에는 3가지 원인이 있습니다.

  • App Engine UrlFetch 일시적인 오류
  • Google Cloud Storage 일시적인 오류
  • 버킷 및 객체 승인과 관련된 Google Cloud Storage 오류

Cloud Storage용 App Engine 클라이언트 라이브러리는 App Engine 측과 Google Cloud Storage 측 모두에서 시간 초과 오류를 처리하고 자동으로 재시도를 수행하므로, 이를 처리하기 위한 논리를 앱에 추가할 필요가 없습니다. 제한 시간 및 재시도 메커니즘의 구성은 기본 설정의 일부 또는 전부를 변경할 때 사용하는 RetryParams 클래스를 통해 노출됩니다. 모든 함수 호출에 적용하도록 변경하거나 함수의 retry_params 매개변수를 사용하여 특정 호출의 변경사항을 지정할 수 있습니다.

오류

Cloud Storage용 App Engine 클라이언트 라이브러리에는 다음과 같은 오류 예외 클래스가 정의되어 있습니다.

cloudstorage.Error

이 패키지에 있는 모든 예외의 기본 클래스입니다. App Engine 또는 Google Cloud Storage에서 오류가 생성될 수 있습니다. Google Cloud Storage의 HTTP 오류 코드에 대한 자세한 내용은 Google Cloud Storage 문서의 HTTP 상태 및 오류 코드를 참조하세요.

cloudstorage.AuthorizationError
Google Cloud Storage에서 승인되지 않은 요청을 받았습니다. 이 오류는 승인된 앱이 만료된 액세스 토큰을 사용하는 경우 발생할 수 있습니다. 일반적으로 이 오류는 자동으로 처리됩니다. Cloud Storage용 App Engine 클라이언트 라이브러리는 이를 위해 새로운 액세스 토큰을 가져오고 요청을 재시도합니다.
cloudstorage.ForbiddenError

이 오류(403)는 사용자가 Google Cloud Storage에서 요청할 권한을 승인받지 않았음을 나타냅니다.

  • 이 오류가 발생할 수 있는 다양한 원인은 Google Cloud Storage 오류 문서403-Forbidden에 나열되어 있습니다.
  • 이 오류가 발생하는 일반적인 원인은 앱 액세스를 허용하도록 버킷 권한(버킷 ACL)이 올바르게 설정되지 않았기 때문입니다. 액세스 설정 정보는 Google Cloud Storage 인증을 참조하세요.

cloudstorage.NotFoundError
HTTP 오류 404. cloudstorage.delete(), cloudstorage.listbucket(), cloudstorage.open() 또는 cloudstorage.stat()으로의 호출에 지정한 버킷 또는 객체가 없습니다.
cloudstorage.TimeoutError
이 오류는 재시도를 시도했지만 Google Cloud Storage 서버에 연결하려는 시도가 타임아웃되면 발생합니다. 기본 제한 시간 처리 및 재시도 변경에 대한 자세한 내용은 RetryParams를 참조하세요.