메뉴
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()); } } }