È possibile accedere a Google Cloud Storage dalla funzionalità UrlFetch
di App Engine. Di conseguenza, i possibili errori
sono tre:
- 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 sia
sul lato Google Cloud Storage ed esegue nuovi tentativi automaticamente, quindi l'app non deve
aggiungere logica per gestire questo problema. La configurazione del meccanismo di timeout e di nuovo tentativo viene esposta tramite la classe RetryParams, utile per modificare una o tutte le impostazioni predefinite. Puoi
apportare le modifiche in modo che siano applicate a tutte le chiamate di funzione oppure puoi 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 state definite 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 maggiori dettagli sui codici di errore HTTP di Google Cloud Storage, consulta 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.
- Le varie possibili cause di questo errore sono elencate nella documentazione sugli errori di Google Cloud Storage per 403-Forbidden.
- Una causa comune di questo errore è che le autorizzazioni del bucket (ACL dei bucket) non sono impostate correttamente per consentire l'accesso all'app. Consulta Autenticazione di Google Cloud Storage per informazioni sulla configurazione dell'accesso.
- cloudstorage.NotFoundError
-
Errore HTTP 404. Il bucket o l'oggetto specificato in una chiamata a
cloudstorage.delete()
,cloudstorage.listbucket()
,cloudstorage.open()
ocloudstorage.stat()
non esiste. - cloudstorage.TimeoutError
- Questo errore viene generato quando si verifica il timeout del tentativo di contattare i server di Google Cloud Storage anche dopo nuovi tentativi. (Vedi RetryParams per informazioni sulla modifica della gestione del timeout predefinita e dei nuovi tentativi.