Der Zugriff auf Google Cloud Storage erfolgt über das App Engine-Feature UrlFetch
. Deshalb bestehen drei mögliche Fehlerquellen:
- Vorübergehende Fehler von App Engine UrlFetch
- Vorübergehende Fehler von Google Cloud Storage
- Google Cloud Storage-Fehler im Zusammenhang mit Buckets und der Objektautorisierung
Die App Engine-Clientbibliothek für Cloud Storage verarbeitet Zeitüberschreitungsfehler sowohl auf der App Engine-Seite als auch auf der Google Cloud Storage-Seite und führt Wiederholungsversuche automatisch durch. Daher muss Ihre Anwendung keine Logik hinzufügen, um dies zu handhaben. Die Konfiguration des Zeitüberschreitungs- und Wiederholungsmechanismus wird über die Klasse RetryParams bereitgestellt, mit der Sie einige oder alle Standardeinstellungen ändern können. Sie können Änderungen für alle Funktionsaufrufe vornehmen oder mit dem Parameter retry_params
der Funktion Änderungen für einen bestimmten Aufruf angeben.
Fehler
In der App Engine-Clientbibliothek für Cloud Storage sind die folgenden Ausnahmefehlerklassen definiert:
- cloudstorage.Error
-
Die Basisklasse für alle Ausnahmen in diesem Paket. Fehler können von App Engine oder von Google Cloud Storage generiert werden. Weitere Informationen zu HTTP-Fehlercodes von Google Cloud Storage finden Sie unter HTTP-Status- und -Fehlercodes in der Google Cloud Storage-Dokumentation.
- cloudstorage.AuthorizationError
- Von Google Cloud Storage wurde eine nicht autorisierte Anfrage empfangen. Dieser Fehler kann auftreten, wenn eine autorisierte Anwendung ein abgelaufenes Zugriffstoken verwendet. In der Regel wird dieser Fehler automatisch in der App Engine-Clientbibliothek für Cloud Storage behandelt, die ein neues Zugriffstoken abruft und die Anfrage wiederholt.
- cloudstorage.ForbiddenError
Dieser Fehler (403) zeigt an, dass der Nutzer nicht von Google Cloud Storage autorisiert wurde, den Request zu stellen.
- Die verschiedenen möglichen Ursachen für diesen Fehler sind in der Google Cloud Storage-Fehlerdokumentation für 403 – Unzulässig aufgeführt.
- Eine häufige Ursache für diesen Fehler ist, dass die Bucket-Berechtigungen (Bucket-ACL) nicht ordnungsgemäß für den Zugriff durch Ihre Anwendung festgelegt sind. Weitere Informationen zum Einrichten des Zugriffs finden Sie unter Google Cloud Storage-Authentifizierung.
- cloudstorage.NotFoundError
-
HTTP-Fehler 404. Der Bucket oder das Objekt, das Sie in einem Aufruf von
cloudstorage.delete()
,cloudstorage.listbucket()
,cloudstorage.open()
odercloudstorage.stat()
angegeben haben, ist nicht vorhanden. - cloudstorage.TimeoutError
- Dieser Fehler tritt auf, wenn die Kontaktaufnahme mit Google Cloud Storage-Servern selbst nach mehreren Versuchen fehlschlägt. (Weitere Informationen zum Ändern der Standardbehandlung von Zeitüberschreitungen und Wiederholungsversuchen finden Sie unter RetryParams.)