2014-09-19 197 views
0

我在s3上存儲用戶配置文件圖像。當用戶更改他的個人資料圖片時,我生成一個新的s3密鑰並將新返回的網址存儲爲用戶個人資料圖片。 我刪除舊密鑰。不過,儘管密鑰已被刪除,但我仍然可以通過舊網址訪問上一張圖片。以下是我的相關代碼片段刪除s3對象

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

在達到一致性之前可能需要很短的時間,但我認爲這不會解釋這種行爲。我不知道你的get_old_key()方法正在返回,但delete_key()方法需要密鑰的名稱。那是你在傳遞什麼?

如果您嘗試刪除存儲桶中不存在的密鑰,S3服務不會返回錯誤,因此如果您將錯誤的值傳遞給delete_key(),它將自動失敗。

+0

get_old_key()是我寫的自定義方法,它返回需要刪除的密鑰。 – 2014-09-22 14:01:53

+0

它是否將Key對象或密鑰的名稱作爲字符串返回? – garnaat 2014-09-22 14:15:54