小编Mat*_*igo的帖子

从Google云端存储中删除文件

所以我有一个django应用程序在appengine上运行并在用户上传时创建文件.我遇到的问题是试图找出如何删除它们.我创建它们的代码看起来像.

from google.appengine.api import files

file = request.FILES['assets_thumbnail']
filename = '/gs/mybucketname/example.jpg'
writable_file_name = files.gs.create(filename, mime_type='image/jpeg', acl='public-read')
with files.open(writable_file_name, 'a') as f:
    f.write(file.read())
files.finalize(writable_file_name)
Run Code Online (Sandbox Code Playgroud)

这工作正常,但在文档中:

https://developers.google.com/appengine/docs/python/googlestorage/functions

没有列出删除方法.但是,如果您在下面的链接中查看google.appengine.api.files的实际来源(第504行)

http://code.google.com/p/googleappengine/source/browse/trunk/python/google/appengine/api/files/file.py

有一个我可以调用的删除方法,但我无法弄清楚我的生活究竟是它想要的参数.我已经尝试了很多与桶名称等不同的组合.它似乎希望它以/ blobstore /开头,这与我在与云存储交互时所做的其他事情不同.我一直在浏览底层的blobstore类,google.appengine.api.files是写在上面的,但仍然无法弄清楚如何删除项目.看起来我可能需要找到我上传的项目的BlobKeys.我可以使用google主机的基于Web的存储桶管理器以及它们提供的gsutil命令行实用程序来删除它们.

是否有人通过部署到应用引擎的python应用程序成功删除了谷歌云存储中的文件?非常感谢任何线索/想法/想法.

python django google-app-engine google-cloud-storage

4
推荐指数
2
解决办法
4767
查看次数