Ho bisogno di recuperare i file nella mia applicazione Web che hanno una dimensione superiore a 64 KB. Al momento, in v1beta1 dell'API JSON, Google consente solo caricamenti/download di 64 KB di dimensioni tramite la loro API JSON. Ho capito come caricare file di dimensioni superiori a 64 KB utilizzando un caricamento "ripristinabile" (non tramite l'interfaccia che v1beta1 fornisce nella sua API JSON, ma manualmente).Come recuperare file di dimensioni superiori a 64 KB con l'API JSON di Cloud Storage?
Quello che non riesco a capire è un buon modo per scaricare. In questo momento, faccio l'ACL pubblico per l'oggetto che voglio scaricare, scaricare il file e quindi rimuovere l'ACL pubblico sull'oggetto. Questo non è solo inefficiente, non è molto pulito. C'è un metodo migliore che potrei usare o sono bloccato finché Google non fornisce un mezzo migliore in una versione futura della loro API?
Informazioni di background Sto scrivendo un'applicazione GAE e conosco l'interfaccia google.appengine.api.files. Sfortunatamente questo non funziona su live bucket durante l'utilizzo dell'ambiente di sviluppo locale e, a scopo di test, il mio team e io abbiamo bisogno di un modo per testare lo sviluppo localmente (troppo complicato da implementare in GAE tra gli altri fattori limitanti/di sicurezza). Possiamo interagire con tutte le altre API ad eccezione di Cloud Storage, quindi sto scrivendo una classe che userà l'interfaccia JSON API o l'interfaccia di AppEngine durante la lettura/scrittura/eliminazione da Cloud Storage. Ho ottenuto un'implementazione funzionante, ma non sono soddisfatto del modo in cui recupero i file.
Precisazione commento qui sotto: Stiamo scaricando grandi quantità di informazioni, massaggiandolo, e la memorizzazione in Cloud Storage per il consumo in BigQuery. Abbiamo bisogno di utilizzare i live bucket dall'ambiente dev perché, se non lo facciamo, BigQuery non sarà in grado di consumare i dati che vogliamo testare. Non c'è bisogno di servire questi file, semplicemente elaborarli
soluzione da commento alla risposta accettato di seguito: sono stato in grado di riutilizzare il mio autenticato oggetto dal mio codice che interagisce con l'API JSON per fare una richiesta GET autenticata contro l'endpoint URL https://{bucket_name}.storage.googleapis.com/{object_name}
, aggiungendo solo le intestazioni Content-Length: 0
e x-goog-api-version: 2
.
Non è chiaro dalla domanda se si sta utilizzando GAE o no? Se è così, ci sono alcune alternative che dipendono dal tuo caso d'uso. –
Mi scuso, ho aggiunto alcune informazioni di base – someone1
Qual è il tuo caso d'uso? Hai bisogno di servire i file o leggerli e processarli? Inoltre, perché dovresti voler accedere ai live bucket dal tuo ambiente di sviluppo? –