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.
- As diversas causas possíveis para esse erro estão listadas na documentação de erro do Google Cloud Storage para 403-Forbidden .
- Uma origem comum desse erro é que as permissões de bucket (ACL de bucket) não estão definidas corretamente para permitir o acesso ao app. Consulte Autenticação do Google Cloud Storage para informações sobre como configurar o acesso.
- cloudstorage.NotFoundError
-
HTTP error 404. O bucket ou objeto especificado em uma chamada para
cloudstorage.delete()
,cloudstorage.listbucket()
,cloudstorage.open()
oucloudstorage.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.