Errores de Cloud Storage y manejo de errores

A Google Cloud Storage se accede mediante la característica UrlFetch de App Engine. Como consecuencia, hay tres fuentes de errores posibles:

  • Errores transitorios de UrlFetch de App Engine.
  • Errores transitorios de Google Cloud Storage.
  • Errores de Google Cloud Storage relacionados con los depósitos y la autorización de objetos.

La biblioteca cliente de App Engine para Cloud Storage maneja los errores de tiempo de espera en el lado de App Engine y en el de Google Cloud Storage, y realiza reintentos de forma automática, por lo que tu app no necesita agregar lógica para manejar estos errores. La configuración del tiempo de espera y el mecanismo de reintento se exponen a través de la clase RetryParams, que puedes usar para cambiar alguna o todas las configuraciones predeterminadas. Puedes hacer que tus cambios se apliquen a todas las llamadas de funciones o puedes especificar cambios para una llamada específica con el parámetro retry_params de la función.

Errores

La biblioteca cliente de App Engine para Cloud Storage tiene las siguientes clases de excepciones de error definidas:

cloudstorage.Error

La clase básica para todas las excepciones de este paquete. Los errores se pueden generar desde App Engine o desde Google Cloud Storage. Para obtener más detalles sobre códigos de error de HTTP desde Google Cloud Storage, consulta Códigos de error y de estados de HTTP en la documentación de Google Cloud Storage.

cloudstorage.AuthorizationError
Google Cloud Storage recibió una solicitud no autorizada. Este error puede suceder si una aplicación sin autorización usa un token de acceso que expiró. Por lo general, este error se maneja de forma automática en la biblioteca cliente de App Engine para Cloud Storage, que obtiene un nuevo token de acceso y realiza un reintento de la solicitud.
cloudstorage.ForbiddenError

Este error (403) indica que Google Cloud Storage no autorizó al usuario a realizar la solicitud.

cloudstorage.NotFoundError
Error de HTTP 404 El bucket o el objeto que especificaste en una llamada a cloudstorage.delete(), cloudstorage.listbucket(), cloudstorage.open() o cloudstorage.stat() no existe.
cloudstorage.TimeoutError
Este error se genera cuando se agota el tiempo de espera del intento de contactar a los servidores de Google Cloud Storage, incluso después de los reintentos. (Consulta RetryParams para obtener información sobre cómo cambiar el tiempo de espera predeterminado de los controladores y reintentos.