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を使用して、オブジェクトの存在をより効率的にチェックします。

オブジェクト・リストは、特定のオブジェクトの存在を検査する本質的に非効率的な方法です。インデックス検索は、この特定の要求に対して比較的遅いだけでなく、全体的な負荷とパフォーマンスにも影響を与える可能性があります

特定のオブジェクトを要求することは、パラメーターに一致する 1 つ以上のオブジェクトを要求するよりも常に効率的です。オブジェクト・リストは、分散索引を照会する必要がある検索形式です

オブジェクトに対して HEAD を使用することは、オブジェクトが存在することを確認するための最良の方法です。ECSオブジェクトSDKでは、これはGetObjectMetadataRequestによって行われます。


オブジェクトが存在しない場合、SDK は 404 エラー応答のために次の例外をスローします。

 

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().

どちらのメソッドもオブジェクトのetag値を必要とし、PUTリクエストでヘッダー「if-match」、「if-none-match」を使用します
withIfUnmodifiedSince() withIfModifiedSince() というメソッドもあり、それぞれが Date オブジェクトを受け取ります

etagまたはmd5が使用できない場合は、GetObjectMetadataRequest.
を使用して取得する必要があります。効率的な代替手段は、Date が十分に古い場合は withIfUnmodifiedSince() を使用することです。 

SRとECSテクニカル サポート

オブジェクトの存在について懸念がある場合は、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.