メニュー
Amazon Simple Storage Service
開発者ガイド (API Version 2006-03-01)

AWS SDK for Java を使用した、アーカイブされたオブジェクトの復元

以下のタスクは、AWS SDK for Java を使用して、アーカイブされたオブジェクトの復元を開始する手順を示しています。

オブジェクトのダウンロード

1

AmazonS3Client クラスのインスタンスを作成します。

2

バケット名、復元するオブジェクトキー、オブジェクトコピーを復元する日数を指定して、RestoreObjectRequest クラスのインスタンスを作成します。

3

AmazonS3.RestoreObject メソッドのいずれかを実行して、アーカイブの復元を開始します。

以下の Java コード例は、前述のタスクの例です。

Copy
String bucketName = "examplebucket"; String objectkey = "examplekey"; AmazonS3Client s3Client = new AmazonS3Client(); RestoreObjectRequest request = new RestoreObjectRequest(bucketName, objectkey, 2); s3Client.restoreObject(request);

Amazon S3 は復元ステータスをオブジェクトのメタデータ内に維持します。次の Java コードに示すように、オブジェクトのメタデータを取得し、RestoreInProgress プロパティの値を確認できます。

Copy
String bucketName = "examplebucket"; String objectkey = "examplekey"; AmazonS3Client s3Client = new AmazonS3Client(); client = new AmazonS3Client(); GetObjectMetadataRequest request = new GetObjectMetadataRequest(bucketName, objectKey); ObjectMetadata response = s3Client.getObjectMetadata(request); Boolean restoreFlag = response.getOngoingRestore(); System.out.format("Restoration status: %s.\n", (restoreFlag == true) ? "in progress" : "finished");

次の Java コード例は、指定したアーカイブオブジェクトの復元リクエストを開始します。コードを更新し、バケット名と、アーカイブされたオブジェクトキー名を指定する必要があります。作業サンプルを作成およびテストする方法については、「Java コード例のテスト」を参照してください。

Copy
import java.io.IOException; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.services.s3.AmazonS3Client; import com.amazonaws.services.s3.model.AmazonS3Exception; import com.amazonaws.services.s3.model.GetObjectMetadataRequest; import com.amazonaws.services.s3.model.ObjectMetadata; import com.amazonaws.services.s3.model.RestoreObjectRequest; public class RestoreArchivedObject { public static String bucketName = "*** Provide bucket name ***"; public static String objectKey = "*** Provide object key name ***"; public static AmazonS3Client s3Client; public static void main(String[] args) throws IOException { AmazonS3Client s3Client = new AmazonS3Client(new ProfileCredentialsProvider()); try { RestoreObjectRequest requestRestore = new RestoreObjectRequest(bucketName, objectKey, 2); s3Client.restoreObject(requestRestore); GetObjectMetadataRequest requestCheck = new GetObjectMetadataRequest(bucketName, objectKey); ObjectMetadata response = s3Client.getObjectMetadata(requestCheck); Boolean restoreFlag = response.getOngoingRestore(); System.out.format("Restoration status: %s.\n", (restoreFlag == true) ? "in progress" : "finished"); } catch (AmazonS3Exception amazonS3Exception) { System.out.format("An Amazon S3 error occurred. Exception: %s", amazonS3Exception.toString()); } catch (Exception ex) { System.out.format("Exception: %s", ex.toString()); } } }