조건부 요청으로 S3 작업에 사전 조건 추가
조건부 요청으로 S3 작업에 사전 조건 추가 (Add preconditions to S3 operations with conditional requests)
조건부 요청(conditional requests)을 사용해 S3 작업에 사전 조건을 추가할 수 있어요. 조건부 요청을 사용하려면 Amazon S3 API 작업에 추가 헤더를 넣어요. 이 헤더는 조건을 지정하며, 조건이 충족되지 않으면 S3 작업이 실패해요.
출처: 문서
본문
조건부 읽기(conditional reads)는 GET, HEAD, COPY 요청에서 지원돼요. 객체의 엔터티 태그(ETag)나 마지막 수정 날짜를 기준으로 객체를 반환하거나 복사하도록 사전 조건을 추가할 수 있어요. 이를 통해 S3 작업을 특정 날짜 이후에 업데이트된 객체로 제한할 수 있어요. 또한 S3 작업을 특정 ETag로 제한할 수도 있어요. 이렇게 하면 특정 객체 버전만 반환하거나 복사하도록 보장할 수 있어요. 객체 메타데이터에 대한 자세한 내용은 객체 메타데이터 작업을 참고하세요.
조건부 쓰기(conditional writes)는 PUT 작업 중에 버킷에 같은 키 이름의 기존 객체가 없는지 확인할 수 있게 해줘요. 이렇게 하면 동일한 키 이름을 가진 기존 객체가 덮어써지는 것을 방지할 수 있어요. 마찬가지로 조건부 쓰기를 사용해 객체를 업데이트하기 전에 객체의 ETag가 변경되지 않았는지 확인할 수 있어요. 이렇게 하면 객체 콘텐츠의 상태를 모른 채 객체를 의도치 않게 덮어쓰는 것을 방지할 수 있어요. PutObject, CompleteMultipartUpload 또는 CopyObject 요청에 조건부 쓰기를 사용할 수 있어요. 키 이름에 대한 자세한 내용은 Amazon S3 객체 명명을 참고하세요.
조건부 삭제(conditional deletes)는 삭제하기 전에 객체가 존재하는지 또는 변경되지 않았는지 평가해요. 범용 버킷과 디렉터리 버킷에서 DeleteObject 또는 DeleteObjects API를 사용해 조건부 삭제를 수행할 수 있어요. 조건부 삭제에 대한 자세한 내용은 조건부 삭제 수행 방법을 참고하세요. 조건부 읽기, 조건부 쓰기 또는 조건부 삭제에는 추가 요금이 부과되지 않아요. 실패한 요청을 포함해 해당 요청에 대한 기존 요금만 부과돼요. Amazon S3 기능과 요금에 대한 자세한 내용은 Amazon S3 요금을 참고하세요.