Amazon S3, 조건부 쓰기를 위한 새로운 기능 추가
이제 Amazon S3에서 객체를 업데이트하기 전에 수정되지 않았는지 여부를 평가하는 조건부 쓰기를 수행할 수 있습니다. 이를 통해 동일한 객체에 대한 동시 쓰기 작업을 손쉽게 조정할 수 있으며 여러 명의 동시 작성자가 콘텐츠 상태를 모른 채 실수로 객체를 덮어쓰는 상황을 방지할 수 있습니다. 이 기능을 사용하려면 S3 범용 버킷과 디렉터리 버킷 모두에서 S3 PutObject 또는 CompleteMultiPload API 요청을 사용하여 객체의 ETag를 제공하면 됩니다.
조건부 쓰기는 여러 클라이언트가 있는 분산 애플리케이션이 공유 데이터세트 전반에 걸쳐 동시에 데이터를 병렬로 업데이트하는 방식을 간소화합니다. 객체를 생성하기 전에 HTTP if-none-match 조건부 헤더를 사용하여 객체의 존재 여부를 확인하는 것과 마찬가지로, 이제 클라이언트는 API 요청의 HTTP if-match 헤더를 통해 객체를 지정하여 객체의 변경 사항을 반영하는 조건부 쓰기 검사를 수행할 수 있습니다. 그런 다음 S3는 쓰기를 커밋하기 전에 객체의 ETag가 API 요청에 제공된 값과 일치하는지 여부를 평가하여 조건이 충족될 때까지 클라이언트가 객체를 덮어쓰지 못하도록 합니다. 이 새로운 조건부 헤더는 비교 및 스왑 작업을 S3로 안정적으로 오프로드하여 대규모 분석, 분산 기계 학습 및 고도로 병렬화된 기타 워크로드의 효율성을 개선하는 데 도움이 될 수 있습니다.
이 새로운 조건부 쓰기 기능은 모든 AWS 리전에서 추가 요금을 지불하지 않고 사용할 수 있습니다. AWS SDK, API 또는 CLI를 사용하여 조건부 쓰기를 수행할 수 있습니다. 조건부 쓰기에 대한 자세한 내용은 S3 사용 설명서에서 확인하세요.