因此,我在 appengine 上启动并运行了一个 django 应用程序,并在用户上传文件时让它创建文件。我遇到的问题是试图弄清楚如何删除它们。我创建它们的代码看起来像。
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)
这工作正常,但在文档中:
https://developers.google.com/appengine/docs/python/googlestorage/functions
没有列出删除方法。但是,如果您在下面的链接中查看 google.appengine.api.files 的实际来源(第 504 行)
我可以调用一个删除方法,但我终其一生都无法弄清楚它想要的参数。我已经尝试了很多与存储桶名称等不同的组合。它似乎希望它以 /blobstore/ 开头,这与我迄今为止在与 Cloud Storage 交互时所做的任何其他事情都不同。我一直在查看 google.appengine.api.files 编写在其之上的底层 blobstore 类,但仍然无法弄清楚如何删除项目。看起来我可能需要为我上传的项目找到 BlobKeys。我可以使用谷歌托管的基于网络的存储桶管理器以及它们提供的 gsutil 命令行实用程序来很好地删除它们。
有没有人通过部署到应用程序引擎的 python 应用程序从谷歌云存储中成功删除文件?非常感谢任何线索/想法/想法。