如何在 App Engine 中从 Google Storage 读取 zip 文件?
Posted
技术标签:
【中文标题】如何在 App Engine 中从 Google Storage 读取 zip 文件?【英文标题】:How can I read zip files from Google Storage in App Engine? 【发布时间】:2011-11-16 12:46:54 【问题描述】:应用程序创建一个 zip 文件并将其存储到 Google 存储中。我在负责抓取 zip 文件提取内容等的网络服务器端工作。网络服务是用 Python App Engine 编写的。到目前为止,我已经设置了凭据,并且按照教程,我可以列出存储桶的内容。虽然我能够读取元数据和文件信息,但我无法将内容获取到 zip 文件模块。关注this 指南我最终到达了那个不工作的地方:
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】:现在有an API,可让您直接操作 Google Storage 中的对象。使用它,您可以获得 zipfile 的类似文件的对象,然后将其传递给 zipfile
模块。
【讨论】:
以上是关于如何在 App Engine 中从 Google Storage 读取 zip 文件?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Google Cloud App Engine 上使用 PubSub 创建订阅者,该订阅者通过 Publisher 从 Google Cloud App Engine Flex 收听消息?
如何在 Google App Engine app.yaml 中处理尾部斜线
如何在 Google Cloud Functions 和 Google App Engine 之间进行选择?