O Google Cloud Storage é acedido pela funcionalidade UrlFetch
do App Engine. Como resultado,
existem três fontes de possíveis erros:
- Erros temporários do UrlFetch do App Engine.
- Erros temporários do Google Cloud Storage.
- Erros do Google Cloud Storage relacionados com autorização de objetos e contentores.
A biblioteca de cliente do App Engine para o Cloud Storage processa erros de limite de tempo no lado do App Engine e no lado do Google Cloud Storage, e repete automaticamente as operações. Por isso, a sua app não precisa de adicionar lógica para processar esta situação. A configuração do mecanismo de limite de tempo e repetição
é exposta através da classe RetryParams, que pode usar para alterar qualquer uma ou todas as definições predefinidas. Pode
fazer as alterações para aplicar a todas as chamadas de funções ou pode especificar alterações para
uma chamada específica através do parâmetro retry_params
da função.
Erros
A biblioteca cliente do App Engine para o Cloud Storage tem as seguintes classes de exceções de erros definidas:
- cloudstorage.Error
-
A classe base para todas as exceções neste pacote. Os erros podem ser gerados a partir do App Engine ou do Google Cloud Storage. Para ver detalhes sobre os códigos de erro HTTP do Google Cloud Storage, consulte os códigos de erro e estado HTTP na documentação do Google Cloud Storage.
- cloudstorage.AuthorizationError
- O Google Cloud Storage recebeu um pedido não autorizado. Este erro pode ocorrer se uma app autorizada estiver a usar um token de acesso que expirou. Normalmente, este erro é processado automaticamente na biblioteca cliente do App Engine para o Cloud Storage, que recebe um novo token de acesso e tenta novamente o pedido.
- cloudstorage.ForbiddenError
Este erro (403) indica que o utilizador não foi autorizado pelo Google Cloud Storage a fazer o pedido.
- As várias causas possíveis para este erro estão listadas na documentação de erros do Google Cloud Storage para 403-Forbidden.
- Uma origem comum deste erro é o facto de as autorizações do contentor (LCA do contentor) não estarem definidas corretamente para permitir o acesso da sua app. Consulte o artigo Autenticação no Google Cloud Storage para ver informações sobre a configuração do acesso.
- cloudstorage.NotFoundError
-
Erro HTTP 404. O contentor ou o objeto que especificou numa chamada para
cloudstorage.delete()
,cloudstorage.listbucket()
,cloudstorage.open()
, oucloudstorage.stat()
não existe. - cloudstorage.TimeoutError
- Este erro é apresentado quando a tentativa de contactar os servidores do Google Cloud Storage excede o tempo limite, mesmo após várias tentativas. (Consulte RetryParams para obter informações sobre a alteração do processamento do limite de tempo predefinido e as novas tentativas.