Errori e gestione degli errori di Cloud Storage

La funzionalità UrlFetch di App Engine può accedere a Google Cloud Storage. Di conseguenza, ci sono tre possibili cause:

  • Errori temporanei UrlFetch di App Engine.
  • Errori temporanei di Google Cloud Storage.
  • Errori di Google Cloud Storage relativi ai bucket e all'autorizzazione degli oggetti.

La libreria client di App Engine per Cloud Storage gestisce gli errori di timeout sia sul lato App Engine che su quello di Google Cloud Storage ed esegue automaticamente nuovi tentativi, in modo che l'app non debba aggiungere alcuna logica per farlo. La configurazione del meccanismo di timeout e nuovo tentativo è esposta tramite la classe RetryParams, che puoi utilizzare per modificare alcune o tutte le impostazioni predefinite. Puoi apportare modifiche da applicare a tutte le chiamate di funzione o specificare le modifiche per una chiamata specifica utilizzando il parametro retry_params della funzione.

Errori

Nella libreria client di App Engine per Cloud Storage sono definite le seguenti classi di eccezione di errore:

cloudstorage.Error

La classe base per tutte le eccezioni in questo pacchetto. Gli errori possono essere generati da App Engine o da Google Cloud Storage. Per maggiori dettagli sui codici di errore HTTP di Google Cloud Storage, consulta la sezione Codici di errore e di stato HTTP nella documentazione di Google Cloud Storage.

cloudstorage.AuthorizationError
Google Cloud Storage ha ricevuto una richiesta non autorizzata. Questo errore può verificarsi se un'app autorizzata utilizza un token di accesso scaduto. Normalmente, questo errore viene gestito automaticamente nella libreria client di App Engine per Cloud Storage, che riceve un nuovo token di accesso e riprova a eseguire la richiesta.
cloudstorage.ForbiddenError

Questo errore (403) indica che l'utente non è stato autorizzato da Google Cloud Storage a effettuare la richiesta.

cloudstorage.NotFoundError
Errore HTTP 404. Il bucket o l'oggetto specificato in una chiamata a cloudstorage.delete(), cloudstorage.listbucket(), cloudstorage.open() o cloudstorage.stat() non esiste.
cloudstorage.TimeoutError
Questo errore viene visualizzato quando il tentativo di contattare i server di Google Cloud Storage scade anche dopo altri tentativi. (Consulta RetryParams per informazioni sulla modifica della gestione predefinita del timeout e dei nuovi tentativi.