Errores y gestión de errores de Cloud Storage

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.

cloudstorage.NotFoundError
Error HTTP 404. El objeto o el contenedor que has especificado en una llamada a cloudstorage.delete(), cloudstorage.listbucket(), cloudstorage.open() o cloudstorage.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.