Как я могу прочитать zip-файлы из Google Storage в App Engine? - PullRequest
3 голосов
/ 16 ноября 2011

Приложение создает ZIP-файл и сохраняет его в Google Storage. Я работаю на стороне веб-сервера, которая отвечает за получение zip-файла, извлечение содержимого и т. Д. Веб-сервис написан на Python App Engine. До сих пор я установил учетные данные и, следуя инструкциям, я могу перечислить содержимое сегментов. Хотя я могу читать метаданные и информацию о файле, я не могу получить содержимое в zip-файл модуля. После этого гид, я оказался в том месте, которое не работает:

uri = boto.storage_uri(BUCKET_NAME, GOOGLE_STORAGE)
objs = uri.get_bucket()
files = []
for obj in objs:
  object_contents = StringIO.StringIO()
  if obj.get_key():
    obj.get_file(object_contents)
    my_zip = zipfile.ZipFile(object_contents)
    object_contents.close()
    files.append(my_zip)
print len(files)  

Я получаю: BadZipfile: File is not a zip file

Как правильно прочитать содержимое?

1 Ответ

2 голосов
/ 17 ноября 2011

Теперь API , который позволяет вам напрямую манипулировать объектами в Google Storage.Используя это, вы можете получить файл-подобный объект для zip-файла и просто передать его в модуль zipfile.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...