메뉴
Amazon Simple Storage Service
개발자 안내서 (API Version 2006-03-01)

삭제 마커를 통한 작업

삭제 마커는 단순 DELETE 요청에 이름이 올랐던 버전이 지정된 객체의 자리 표시자(마커)입니다. 객체가 버전 관리를 사용하는 버킷에 있었던 이유로 이 객체는 삭제되지 않았습니다. 그러나 삭제 마커는 Amazon S3가 객체가 삭제된 것처럼 동작하게 만듭니다.

삭제 마커에는 다른 객체들과 마찬가지로 키 이름(또는 키)과 버전 ID가 있습니다. 그러나 삭제 마커는 다음과 같은 부분에서 다른 객체와는 다릅니다.

  • 데이터와 연결되지 않습니다.

  • ACL(액세스 제어 목록) 값과 연결되어 있지 않습니다.

  • 데이터가 없으므로 GET 요청에서 아무것도 가져오지 않으며 404 오류가 발생합니다.

  • 삭제 마커에 대해 유일하게 사용 가능한 작업은 DELETE이며 버킷 소유자만 그러한 요청을 제기할 수 있습니다.

삭제 마커는 Amazon S3의 스토리지에 대해 일반 요금을 발생시킵니다. 삭제 마커의 스토리지 크기는 삭제 마커의 키 이름 크기와 같습니다. 키 이름은 유니코드 문자열입니다. UTF-8 인코딩은 1~4바이트의 스토리지에서 이름의 각 문자별 버킷으로 추가됩니다. 키 이름에 대한 자세한 내용은 객체 키 단원을 참조하십시오. 삭제 마커에 대한 자세한 내용은 삭제 마커 제거 단원을 참조하십시오.

Amazon S3에서만 삭제 마커를 생성할 수 있으며, 버전 관리가 활성화되었거나 일시 중지된 버킷의 객체에 대해 사용자가 DELETE Object 요청을 전송할 경우에만 삭제 마커를 생성합니다. DELETE 요청에 이름을 올린 객체는 실제로 삭제되는 것이 아닙니다. 그 대신, 삭제 마커가 객체의 현재 버전이 됩니다. (객체의 키 이름(또는 키)은 삭제 마커의 키가 됩니다.) 객체를 가져오려는 경우 객체의 현재 버전이 삭제 마커라면, Amazon S3에서는 다음 응답을 내보냅니다.

  • 404(객체를 찾을 수 없음) 오류

  • 응답 헤더 x-amz-delete-marker: true

응답 헤더는 액세스한 객체가 삭제 마커였음을 보고합니다. 이 응답 헤더는 false로 돌아가지 않습니다. 이 값이 false인 경우 Amazon S3에서는 이 응답 헤더를 응답에 포함하지 않습니다.

다음 그림은 현재 버전이 삭제 마커인 객체에 대해 단순 GET 요청이 어떻게 404 No Object Found 오류를 반환하는지를 보여 줍니다.

삭제 마커 목록(객체의 다른 버전 포함)을 표시하는 유일한 방법은 GET Bucket versions 요청에 versions 하위 리소스를 사용하는 것입니다. 단순 GET 요청은 삭제 마커 객체를 가져오지 않습니다. 다음 그림은 GET Bucket 요청은 현재 버전이 삭제 마커인 객체를 반환하지 않음을 보여 줍니다.