Domanda

Mi è stato assegnato un progetto per creare un servizio di archiviazione di file su Google App Engine. Ma sono davvero dubbio se sia possibile o meno il limite di 30 sec per elaborare la risposta e inoltre la sua bigtable è solo un sistema di database non un archivio server .am ho corretto?

È stato utile?

Soluzione

Ti consigliamo di guardare l'API Blobstore

http://code.google.com/appengine/docs/java/blobstore/

Ti consente di caricare file fino a 50 MB di dimensioni e servirli direttamente, senza passare attraverso BigTable. Quello che sto facendo è che ho uno script che prende un file, crea l'URL del caricamento di Blobstore, quindi pubblica il file che ha ricevuto su quell'URL e memorizza una voce in bigtable. Il limite di tempo di 30 secondi si applica solo al tempo di elaborazione, quindi l'atto di caricare un file non conta per questo.

Altri suggerimenti

Se tutto ciò di cui hai bisogno è l'archiviazione, una scelta migliore rispetto al motore app è il nuovo beta-d Archiviazione di Google:

Google Storage for Developer è un servizio riposante per la memorizzazione e l'accesso ai dati sull'infrastruttura di Google. Il servizio combina le prestazioni e la scalabilità del cloud di Google con funzionalità avanzate di sicurezza e condivisione. I punti salienti includono:

Store di oggetti veloce, scalabile e altamente disponibile

Tutti i dati replicati a più data center statunitensi

Leggi la coerenza dei dati delle scritture

Oggetti di centinaia di gigabyte di dimensioni per richiesta con supporto di gamma

Spazio dei nomi dei secchi espulsi dal dominio

Autenticazione e condivisione facili e flessibili

Autenticazione basata su chiave

Download autenticati da un browser web

Controlli di accesso a livello individuale e di gruppo

Usa e cerca se ti piace Blobstore azione Io mantengo

Questo è sicuramente possibile.

Ci sono anche alcune domande simili che sono state Risposta. Vedi Google per ulteriori implementazioni.

Ma in generale, sì, il limite di 30 secondi complica il tuo compito, ma puoi rompere il file in blocchi e memorizzarli ciascuno separatamente come testo/BLOB. API remota del motore dell'app potrebbe farlo per te automaticamente.

Tieni presente che hai 10 MB per restrizione di richiesta.

Dai un'occhiata a questo progetto per un po 'di ispirazione:

http://django-filetransfers.appspot.com/

SourceCode è disponibile se si seguono un link sulla pagina.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top