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를 참조하세요.