删除s3对象

时间:2014-09-19 12:55:52

标签: python amazon-s3 boto

我正在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是否需要时间来删除与密钥相关联的网址?

1 个答案:

答案 0 :(得分:0)

在达到一致性之前可能需要很短的时间,但我不认为这可以解释这种行为。我不知道您的get_old_key()方法返回了什么,但delete_key()方法需要密钥的名称。这就是你传递的内容吗?

如果您尝试删除存储桶中不存在的密钥,则S3服务不会返回错误,因此如果您将错误的值传递给delete_key(),它将无声地失败。