Erros e tratamento de erros no Cloud Storage

O Google Cloud Storage é acessado pelo recurso UrlFetch do App Engine. Dessa maneira, existem três origens de erros possíveis:

  • Erros temporários UrlFetch do App Engine
  • Erros temporários do Google Cloud Storage
  • Erros do Google Cloud Storage relacionados a buckets e autorização de objetos

A biblioteca de cliente do App Engine para Cloud Storage lida com erros de tempo limite tanto no App Engine quanto no Google Cloud Storage e realiza novas tentativas automaticamente. Assim, você não precisa adicionar uma lógica ao seu aplicativo para lidar com isso. A configuração do mecanismo de tempo limite e repetição é exposta por meio da classe RetryParams, que você usa para alterar qualquer uma ou todas as configurações padrão. É possível fazer alterações para aplicar a todas as chamadas de função ou especificar alterações para uma chamada específica usando o parâmetro retry_params da função.

Erros

A biblioteca de cliente do App Engine para o Cloud Storage conta com as seguintes classes de exceção de erro definidas:

cloudstorage.Error

A classe base de todas as exceções neste pacote. Os erros podem ser gerados pelo App Engine ou pelo Google Cloud Storage. Para detalhes sobre códigos de erro HTTP do Google Cloud Storage, consulte Status HTTP e códigos de erro na documentação do Google Cloud Storage.

cloudstorage.AuthorizationError
Uma solicitação não autorizada foi recebida pelo Google Cloud Storage. Esse erro poderá ocorrer se um app autorizado estiver usando um token de acesso expirado. Normalmente, esse erro é tratado automaticamente na biblioteca de cliente do App Engine para o Cloud Storage. Um novo token de acesso é conseguido e a solicitação é executada novamente.
cloudstorage.ForbiddenError

Esse erro (403) indica que o usuário não foi autorizado pelo Google Cloud Storage a fazer a solicitação.

cloudstorage.NotFoundError
HTTP error 404. O bucket ou objeto especificado em uma chamada para cloudstorage.delete(), cloudstorage.listbucket(), cloudstorage.open() ou cloudstorage.stat() não existe.
cloudstorage.TimeoutError
Esse erro é gerado quando a tentativa de entrar em contato com servidores do Google Cloud Storage atinge o tempo limite, mesmo após novas tentativas. Consulte RetryParams para informações sobre como alterar o processamento e as tentativas de tempo limite padrão.