我正在s3上存储用户个人资料图片。当用户更改其个人资料图像时,我生成一个新的s3密钥并将新返回的URL存储为用户个人资料图像。 我删除了旧密钥。但是,尽管密钥已被删除,我仍然可以通过旧URL访问上一个图像。以下是我的相关代码段
import boto
conn = boto.connect_s3( AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY )
image_bucket = conn.get_bucket( IMAGE_BUCKET )
old_s3_key = user.get_old_key()
image_bucket.delete_key( old_s3_key )
s3是否需要时间来删除与密钥相关联的网址?
答案 0 :(得分:0)
在达到一致性之前可能需要很短的时间,但我不认为这可以解释这种行为。我不知道您的get_old_key()
方法返回了什么,但delete_key()
方法需要密钥的名称。这就是你传递的内容吗?
如果您尝试删除存储桶中不存在的密钥,则S3服务不会返回错误,因此如果您将错误的值传递给delete_key()
,它将无声地失败。