如何在App Engine中读取Google Storage的zip文件?
有一个应用程序创建了一个压缩文件(zip文件),并把它存储到谷歌云存储里。我现在在处理网页服务器的部分,负责获取这个压缩文件并提取里面的内容。这个网页服务是用Python的App Engine写的。到目前为止,我已经设置好了凭证,并按照教程的指引能够列出存储桶里的内容。虽然我能读取到一些元数据和文件信息,但就是无法正确获取压缩文件的内容。按照这个指南,我现在遇到了一个问题,无法正常工作:
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
我该如何正确读取内容呢?