2014-09-28 22 views
7

Próbuję skonfigurować podstawowe witryny Google App engine Pythona oparte, która pozwala użytkownikom na przesyłanie plików do Google Cloud Storage (głównie obrazy)przekazywać pliki do usługi Google Cloud Storage z Google App Engine (Python)

Przeglądam dokumentację interfejsu API JSON i przeglądu bibliotek klientów GCS (jak również blobstore itp.) I nadal nie mam dobrej obsługi, która jest najlepszą metodą i jak są one powiązane. Byłoby wspaniale, gdyby ktoś mógł to przejrzeć lub wskazać pewne zasoby, które mogę sprawdzić. Mogę sprawdzić, czy każdy przykładowy kod, który jest istotny, byłby naprawdę pomocny. Udało mi się uruchomić tutaj próbki do przesyłania, ale nie wiem, czy są przydatne do konfiguracji aparatu aplikacji: https://github.com/GoogleCloudPlatform/storage-file-transfer-json-python

Dzięki!

+1

Ja też nie mogłem tego rozgryźć. Nie jestem pewien, czy winni są dokumenty Google'a, ale ciężko jest zbudować takie rozwiązanie. Zamiast tego skorzystałem z interfejsu API Datastore Image API. – Tjorriemorrie

+1

2016 i nadal nie jest to ckear – sqram

Odpowiedz

8

Google Cloud Storage ma dwa interfejsy API - XML API i JSON API. Interfejs API XML jest oparty na XML i bardzo przypomina interfejs API Amazon S3. Interfejs API JSON jest podobny do wielu innych interfejsów API Google i działa ze standardowymi bibliotekami klientów interfejsu API Google (na przykład Google API Python library). Oba te interfejsy API mogą być używane z dowolnego miejsca, z lub bez mechanizmu App Engine i są oparte na RESTful HTTP.

App Engine udostępnia kilka standardowych sposobów uzyskiwania dostępu do Google Cloud Storage. Pierwszy jest wbudowany w API App Engine jako funkcja o nazwie "Google Cloud Storage Python API". To nie używa bezpośrednio interfejsu API XML ani JSON. Jest przestarzałe i nie jest już zalecane.

Druga biblioteka App Engine nosi nazwę "Google Cloud Storage Python Client Library" i nie jest częścią podstawowego interfejsu API App Engine. Zamiast tego jest to biblioteka Pythona opracowana przez Google, którą możesz pobrać i dodać do swojej aplikacji, tak jak każdą inną bibliotekę. Ta biblioteka zostanie zaimplementowana za pomocą interfejsu API XML. Zapewnia kilka dodatkowych funkcji przydatnych dla użytkowników App Engine, takich jak możliwość serializowania przesyłania w trakcie jego realizacji. Istnieje przykład użycia tej biblioteki dołączonej do pobierania w katalogu python/demo. Możesz also see it online.

Równoważniki tych narzędzi istnieją również w Javie i Go.

Użytkownicy nie muszą używać bibliotek specyficznych dla App Engine, chyba że uznają je za przydatne. Standardowa biblioteka Python lub nawet ręcznie napisane połączenia HTTP za pomocą funkcji urlfetch będą działać równie dobrze. Biblioteka App Engine zapewnia jedynie przydatne dodatki dla użytkowników App Engine.

App Engine ma również "interfejs API Blobstore Pythona". Jest to funkcja specyficzna dla App Engine i inna niż Google Cloud Storage, z tym wyjątkiem, że zapewnia kilka haków do Google Cloud Storage, takich jak możliwość przechowywania plików w Google Cloud Storage przy użyciu Blobstore API.

+0

Brandon, żeby wyjaśnić, jeśli mam aplikację App Engine i chcę, aby użytkownicy przesyłali do Google Cloud Storage, używam Blobstore Python API? – Michael

+0

Z pewnością możesz, tak. –