使用gcs python客户机,删除blob不会引发任何异常。但是在刚刚删除的URI上执行GET时,仍然返回资源。以下代码是单个文件flask应用程序的一部分。
from google.cloud import storage as gstorage
storage_client = gstorage.Client()
storage_bucket = storage_client.get_bucket(app.config['STORAGE_BUCKET'])
@bp.route('/verify', methods=['POST'])
def post_verification_photo():
...
crs.execute('SELECT uri FROM photo WHERE id=%s', (photoId,))
photoUri = crs.fetchone()[0]
storage_bucket.delete_blob(photoUri[photoUri.rindex('/')+1:])
请注意,对象是用
Cache-Control: public, max-age=9999999
头,也在元数据中公开和不可恢复。
执行之后,没有错误,但是获取以bucket uri为前缀的完整uri仍然返回对象。我是否对这些方法的实际使用感到困惑?或者API是否需要一些时间将其从其网络中删除?或者,其他什么?