Errori e gestione degli errori di Cloud Storage

Si accede a Google Cloud Storage tramite la funzionalità UrlFetch di App Engine. Di conseguenza, esistono tre fonti di possibili errori:

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

La libreria client App Engine per Cloud Storage gestisce gli errori di timeout sia sul lato App Engine sia sul lato Google Cloud Storage ed esegue automaticamente i nuovi tentativi, quindi la tua app non deve aggiungere logica per gestire questo problema. La configurazione del meccanismo di timeout e nuovi tentativi viene esposta tramite la classe RetryParams, che puoi utilizzare per modificare una o tutte le impostazioni predefinite. Puoi apportare le modifiche in modo che vengano applicate a tutte le chiamate di funzione oppure puoi specificare le modifiche per una chiamata specifica utilizzando il parametro retry_params della funzione.

Errori

La libreria client App Engine per Cloud Storage ha definito le seguenti classi di eccezioni 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 informazioni dettagliate sui codici di errore HTTP di Google Cloud Storage, consulta Codici di stato ed errore 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 App Engine per Cloud Storage, che ottiene un nuovo token di accesso e riprova a inviare 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 generato quando il tentativo di contattare i server Google Cloud Storage va in timeout anche dopo i tentativi di ripetizione. Per informazioni sulla modifica della gestione dei timeout e dei tentativi ripetuti predefiniti, consulta la sezione RetryParams.