2014-09-19 4 views
0

s3에 사용자 프로필 이미지를 저장하려고합니다. 사용자가 자신의 프로필 이미지를 변경하면 새 s3 키가 생성되고 새로 반환 된 URL이 사용자 프로필 이미지로 저장됩니다. 이전 키를 삭제합니다. 그러나 키가 삭제되었지만 이전 URL을 통해 이전 이미지에 계속 액세스 할 수 있습니다. 다음은 관련 코드 조각입니다.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) 

키와 관련된 URL을 제거하는 데 시간이 소요 되나요?

답변

0

일관성을 얻기까지 약간의 시간이 걸릴 수 있지만이 동작을 설명하지는 않습니다. get_old_key() 메서드가 무엇을 반환하는지 알 수는 없지만 delete_key() 메서드는 키 이름을 예상합니다. 그게 너가 지나가고있는거야?

버킷에 존재하지 않는 키를 삭제하려고하면 S3 서비스가 오류를 반환하지 않으므로 delete_key()에 잘못된 값을 전달하면 자동으로 실패합니다.

+0

get_old_key()는 내가 삭제해야하는 키를 반환하는 작성한 사용자 지정 메서드입니다. –

+0

키 객체 또는 키 이름을 문자열로 반환합니까? – garnaat