Python 删除s3对象

Python 删除s3对象,python,amazon-s3,boto,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_

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

可能需要很短的时间才能实现一致性,但我认为这不能解释这种行为。我不知道get\u old\u key方法返回的是什么,但是delete\u key方法需要一个键的名称。这就是你要传递的吗


如果您尝试删除存储桶中不存在的密钥,S3服务不会返回错误,因此如果您输入了错误的值来删除密钥,它将以静默方式失败。

get\u old\u key是我编写的一个自定义方法,返回需要删除的密钥。它是否以字符串形式返回密钥对象或密钥名称?