Frage

Mir wurde ein Projekt zugewiesen, um einen Dateispeicherdienst in der Google App Engine zu erstellen. Aber ich bin wirklich zweifelhaft, ob es möglich ist oder nicht, die 30 -Sekunden -Grenze für die Verarbeitung der Antwort zu erstellen. Darüber hinaus ist es das Bigtable nur ein Datenbanksystem, kein Speicher Server .am Ich korrigiere?

War es hilfreich?

Lösung

Sie möchten sich die Blobin -API ansehen

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

Sie können Dateien mit einer Größe von bis zu 50 MB hochladen und sie direkt servieren, ohne Bigtable durchzugehen. Ich habe ein Skript, das eine Datei aufnimmt, die URL des BloBstore -Uploads erstellt, dann die Datei, die sie in diese URL empfangen hat, und speichert einen Eintrag in Bigtable. Die 30 -Sekunden -Zeitlimit gilt nur für die Verarbeitungszeit, sodass das Hochladen einer Datei nicht dazu zählt.

Andere Tipps

Wenn Sie nur Speicher benötigen, ist eine bessere Wahl als die App Engine der neue Beta-D Google -Speicher:

Google Storage für Entwickler ist ein erholsamer Service zum Speichern und Zugriff auf Ihre Daten in der Infrastruktur von Google. Der Dienst kombiniert die Leistung und Skalierbarkeit der Cloud von Google mit erweiterten Sicherheits- und Freigabefunktionen. Highlights umfassen:

Schneller, skalierbarer und hoch erhältlicher Objektspeicher

Alle Daten, die an mehrere US -Rechenzentren repliziert wurden

Lesen Sie Ihre Datenkonsistenz

Objekte von Hunderten von Gigabyte mit Größe pro Anforderung mit Range-Get-Support

Domänenscoped Bucket Namespace

Einfache, flexible Authentifizierung und Teilen

Schlüsselbasierte Authentifizierung

Authentifizierte Downloads von einem Webbrowser

Zugriffskontrollen auf Einzel- und Gruppenebene

Verwenden und schauen Sie, wenn Sie BloBstore in mögen Aktion Ich führe

Das ist definitiv möglich.

Es gibt auch einige ähnliche Fragen, die es gab antwortete. Weitere Implementierungen finden Sie in Google.

Aber im Allgemeinen, ja, die 30 Sekunden -Grenze kompliziert Ihre Aufgabe, aber Sie können Ihre Datei in Stücke zerlegen und jeweils als Text/Blobs separat speichern. Remote -API der App Engine Könnte dies automatisch für Sie tun.

Denken Sie daran, dass Sie 10 MB pro Anfragebeschränkung haben.

Schauen Sie sich dieses Projekt für Inspiration an:

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

Der SourceCode ist verfügbar, wenn Sie einem Link auf der Seite folgen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top