Se accede a Google Cloud Storage mediante la función UrlFetch
de App Engine. Por lo tanto, hay tres fuentes de posibles errores:
- Errores transitorios de UrlFetch de App Engine.
- Errores transitorios de Google Cloud Storage.
- Errores de Google Cloud Storage relacionados con la autorización de segmentos y objetos.
La biblioteca de cliente de App Engine para Cloud Storage gestiona los errores de tiempo de espera tanto en App Engine como en Google Cloud Storage y realiza reintentos automáticamente, por lo que tu aplicación no necesita añadir lógica para gestionar estos errores. La configuración del mecanismo de tiempo de espera y reintento se expone a través de la clase RetryParams, que puede usar para cambiar cualquiera de los ajustes predeterminados o todos ellos. Puedes hacer cambios para que se apliquen a todas las llamadas a funciones o especificar cambios para una llamada concreta mediante el parámetro retry_params
de la función.
Errores
La biblioteca de cliente de App Engine para Cloud Storage tiene definidas las siguientes clases de excepciones de errores:
- cloudstorage.Error
-
Clase base de todas las excepciones de este paquete. Los errores se pueden generar desde App Engine o desde Google Cloud Storage. Para obtener información sobre los códigos de error HTTP de Google Cloud Storage, consulta Códigos de estado y de error HTTP en la documentación de Google Cloud Storage.
- cloudstorage.AuthorizationError
- Google Cloud Storage ha recibido una solicitud no autorizada. Este error puede producirse si una aplicación autorizada usa un token de acceso que ha caducado. Normalmente, este error se gestiona automáticamente en la biblioteca de cliente de App Engine para Cloud Storage, que obtiene un nuevo token de acceso y vuelve a intentar enviar la solicitud.
- cloudstorage.ForbiddenError
Este error (403) indica que Google Cloud Storage no ha autorizado al usuario a hacer la solicitud.
- Las posibles causas de este error se indican en la documentación de errores de Google Cloud Storage para el código 403 - Forbidden.
- Una causa habitual de este error es que los permisos del segmento (LCA del segmento) no se han configurado correctamente para permitir que tu aplicación acceda a él. Consulta el artículo Autenticación de Google Cloud Storage para obtener información sobre cómo configurar el acceso.
- cloudstorage.NotFoundError
-
Error HTTP 404. El objeto o el contenedor que has especificado en una llamada a
cloudstorage.delete()
,cloudstorage.listbucket()
,cloudstorage.open()
ocloudstorage.stat()
no existe. - cloudstorage.TimeoutError
- Este error se produce cuando se agota el tiempo de espera al intentar contactar con los servidores de Google Cloud Storage, incluso después de varios intentos. Consulta RetryParams para obtener información sobre cómo cambiar la gestión predeterminada del tiempo de espera y los reintentos.