Speicherdienst mit Google App Engine
-
21-09-2019 - |
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?
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.