Erros e processamento de erros do Cloud Storage

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(), ou cloudstorage.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.