GAE在调用delete_serving_url并删除文件后仍然从谷歌云存储中提供图像

Yac*_*zmi 7 google-app-engine blobstore google-cloud-storage

目前提供图像的程序如下:

  1. 将图像存储在谷歌云存储中
  2. 获取blob_key: google.appengine.ext.blobstore.create_gs_key(filename)
  3. 获取网址: google.appengine.api.images.get_serving_url(blob_key,size=250,secure_url=True)

要在检索blob_key后删除图像:

  1. 删除服务网址: google.appengine.api.images.delete_serving_url(blob_key)
  2. 删除谷歌云存储文件:'cloudstorage.delete(filename)'

问题

问题是网址仍在服务一段不确定的时间,即使谷歌云存储上不再存在基础图像.大多数情况下,网址在~24小时内返回404,但也看到1张图像现在仍在服务(~2wks).

delete_serving_url通话的及时性有何期待?删除网址的任何替代方法都会更快?

Eri*_*ton 0

我可以回答你的两个问题之一。不幸的是,它的帮助较小。:/

对delete_serving_url 调用的及时性有何期望?

查看getServingUrl的 Java 文档,正如您所观察到的,他们清楚地说明预计需要 24 小时。我不确定为什么 Python 文档忽略了这一点。

如果您希望停止提供 URL,请删除基础 blob 键。这最多需要 24 小时才能生效。

该文档没有解释为什么您的一张图片在 2 周后仍然可以使用。

值得注意的是,他们没有引用deleteServingUrl作为停止服务 blob 的过程的一部分。这对我来说表明“删除图像”过程中的步骤(1)是不必要的。