2014-09-28 9 views
7

Ich versuche, eine grundlegende Python-basierte Google App Engine-Website einrichten, die Benutzer Dateien in Google Cloud Storage (meist Bilder)Hochladen von Dateien auf Google Cloud Storage Mit Google App Engine (Python)

hochladen können Ich habe die Dokumentation für die JSON-API und die GCS-Client-Bibliotheksübersicht (sowie Blobstore usw.) durchgegangen und habe immer noch keine gute Handhabe, welche die beste Methode ist und wie sie zusammenhängt. Wäre toll, wenn jemand einen Überblick darüber geben oder mich auf einige Ressourcen hinweisen könnte, die ich auschecken kann

Auch jeder Beispielcode, der relevant ist, wäre wirklich hilfreich. Ich habe in der Lage gewesen, die Upload-Proben hier aber nicht sicher ausgeführt werden, wenn sie für einen App Engine-Setup nützlich sind: https://github.com/GoogleCloudPlatform/storage-file-transfer-json-python

Dank !!

+1

Ich konnte das auch nicht herausfinden. Ich bin mir nicht sicher, ob die Google-Dokumente dafür verantwortlich sind, aber es ist schwer, eine solche Lösung zu erstellen. Am Ende habe ich stattdessen die Image-API des Datenspeichers verwendet. – Tjorriemorrie

+1

2016 und es ist immer noch nicht ckear – sqram

Antwort

8

Google Cloud Storage verfügt über zwei APIs - die XML API und die JSON API. Die XML-API basiert auf XML und ähnelt sehr der Amazon S3-API. Die JSON-API ähnelt vielen anderen Google-APIs und funktioniert mit den standardmäßigen Google API-Clientbibliotheken (z. B. Google API Python library). Diese beiden APIs können von überall mit oder ohne App Engine verwendet werden und basieren auf RESTful-HTTP-Aufrufen.

App Engine bietet eine Reihe von Standardmethoden für den Zugriff auf Google Cloud Storage. Der erste ist in die App Engine-API als Feature integriert, das "Google Cloud Storage Python API" genannt wird. Dies verwendet weder direkt die XML- noch die JSON-API. Es ist veraltet und wird nicht mehr empfohlen. Die zweite App Engine-Bibliothek heißt "Google Cloud Storage Python Client Library" und ist nicht Teil der App Engine API. Stattdessen ist es eine Python-Bibliothek von Google, die Sie wie jede andere Bibliothek herunterladen und Ihrer Anwendung hinzufügen können. Diese Bibliothek wird mit der XML-API implementiert. Es bietet einige zusätzliche Funktionen, die für App Engine-Benutzer nützlich sind, z. B. die Möglichkeit, einen Upload während der Ausführung zu serialisieren. Es gibt ein Beispiel für die Verwendung dieser Bibliothek als Teil des Downloads im Verzeichnis Python/Demo. Sie können also see it online.

Equivalents dieser Tools gibt es auch in Java und Go.

Benutzer müssen die App Engine-spezifischen Bibliotheken nicht verwenden, wenn sie sie nicht als nützlich empfinden. Die Standard-Python-Bibliothek oder auch nur handgeschriebene HTTP-Aufrufe mit Hilfe von Urlchetch funktionieren genauso gut. Die App Engine-Bibliothek bietet lediglich einige nützliche Extras für App Engine-Benutzer.

App Engine haben auch eine "Blobstore Python API". Dies ist eine für App Engine spezifische Funktion, die sich von Google Cloud Storage unterscheidet, mit der Ausnahme, dass einige Funktionen in Google Cloud Storage bereitgestellt werden, z. B. das Speichern von Dateien in Google Cloud Storage mithilfe der Blobstore-API.

+0

Brandon, nur um zu klären, ob ich eine App Engine-App haben, und ich möchte Benutzer der Google Cloud Storage laden, ich Blobstore Python-API verwenden? – Michael

+0

Das kannst du sicherlich, ja. –

Verwandte Themen