ECS: S3 오브젝트 존재 확인

Summary: S3 내에서 오브젝트의 존재를 확인하는 방법

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Instructions

HEAD를 사용하여 개체 존재 여부를 보다 효율적으로 확인합니다.

오브젝트 목록은 본질적으로 특정 오브젝트의 존재를 확인하는 비효율적인 방법입니다. 인덱스 검색은 이 특정 요청에 대해 상대적으로 느릴 뿐만 아니라 전체 로드 및 성능에도 영향을 줄 수 있습니다.

특정 개체를 요청하는 것이 매개 변수와 일치하는 하나 이상의 개체를 요청하는 것보다 항상 더 효율적입니다. 오브젝트 목록은 분산 인덱스를 쿼리해야 하는 검색 양식입니다.

개체에 HEAD를 사용하는 것이 개체가 있는지 확인하는 가장 좋은 방법입니다. ECS 오브젝트 SDK를 사용하면 GetObjectMetadataRequest로 이 작업이 수행됩니다.

 
개체가 없는 경우 SDK는 404 오류 응답으로 인해 다음 예외를 throw합니다.

 

Exception in thread "main" com.emc.object.s3.S3Exception: Not Found

 



다음은 getObjectMetadata 클라이언트 메서드에서 사용되는 GetObjectMetadataRequest를 사용하는 예입니다.

try { GetObjectMetadataRequest gom = new GetObjectMetadataRequest(<bucket>, <key>); S3ObjectMetadata om = s3.getObjectMetadata(gom); System.out.println("etag: " + om.getETag()); System.out.println("last modified: " + om.getLastModified().toString()); } catch(com.emc.object.s3.S3Exception e) { System.out.println("What happened: " + e.getMessage()); }

  
AWS Java SDK를 사용 중이고 객체가 존재하지 않는 경우 SDK에서 다음 예외가 발생합니다. 

com.amazonaws.services.s3.model.AmazonS3Exception: Not Found

 
예를 들면 다음과 같습니다.

try { GetObjectMetadataRequest gom = new GetObjectMetadataRequest(AWSS3Factory.S3_BUCKET, key); s3.getObjectMetadata(gom); } catch(com.amazonaws.services.s3.model.AmazonS3Exception e) { System.out.println("What happened: " + e.getMessage()); }

 객체가 있는지 확인하여 putObject가 필요한지 확인합니다.

putObject가 필요한지 확인하기 위해 객체의 존재를 확인하는 경우 PutObjectRequests 조건부 메서드를 사용하는 것이 좋습니다.
 

withIfMatch() and withIfNoneMatch().

이 두 방법 모두 object etag 값이 필요하며 PUT 요청에서 헤더 "if-match,""if-none-match"를 사용합니다.
각각 Date 객체를 취하는 withIfUnmodifiedSince() withIfModifiedSince() 메서드도 있습니다.

etag 또는 md5를 사용할 수 없는 경우 GetObjectMetadataRequest를 사용하여 검색해야 합니다.
효율적인 대안은 Date가 충분히 오래된 경우 withIfUnmodifiedSince() 를 사용하는 것입니다. 

ECS 기술 지원을 포함하는 SR

오브젝트의 존재에 대한 우려가 있는 경우 ECS 지원 팀에 서비스 요청을 개설하십시오.
 

Affected Products

Elastic Cloud Storage

Products

Elastic Cloud Storage
Article Properties
Article Number: 000014759
Article Type: How To
Last Modified: 22 May 2025
Version:  4
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.