AWS SDK for Java를 사용하여 Amazon Glacier 볼트의 아카이브 다운로드 - Amazon Glacier

이 페이지는 볼트와 2012년부터 원래 REST API를 사용하는 Amazon Glacier 서비스의 기존 고객만 사용할 수 있습니다.

아카이브 스토리지 솔루션을 찾고 있다면 Amazon S3의 Amazon Glacier 스토리지 클래스, S3 Glacier Instant Retrieval, S3 Glacier Flexible Retrieval 및 S3 Glacier Deep Archive를 사용하는 것이 좋습니다. 이러한 스토리지 옵션에 대한 자세한 내용은 Amazon Glacier 스토리지 클래스를 참조하세요.

Amazon Glacier(기존 독립 실행형 볼트 기반 서비스)는 더 이상 신규 고객을 받지 않습니다. Amazon Glacier는 데이터를 볼트에 저장하고 Amazon S3 및 Amazon S3 Glacier 스토리지 클래스와 구별되는 자체 API를 갖춘 독립 실행형 서비스입니다. 기존 데이터는 Amazon Glacier에서 무기한으로 안전하게 보관되며 액세스 가능합니다. 마이그레이션은 필요하지 않습니다. 저비용 장기 아카이브 스토리지의 경우는 S3 버킷 기반 API, 전체 가용성, 저렴한 비용 및 서비스 통합을 통해 우수한 고객 경험을 제공하는 Amazon S3 Glacier 스토리지 클래스를 AWS 권장합니다. S3 APIs AWS 리전 AWS 향상된 기능을 원하는 경우 Amazon Glacier 볼트에서 Amazon S3 Glacier 스토리지 클래스로 데이터를 전송하기 위한AWS 솔루션 지침을 사용하여 Amazon S3 Glacier 스토리지 클래스로 마이그레이션하는 것이 좋습니다.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS SDK for Java를 사용하여 Amazon Glacier 볼트의 아카이브 다운로드

다음은 AWS SDK for Java의 하이레벨 API를 사용하여 이전 단계에서 업로드한 아카이브를 다운로드하는 Java 코드 예시입니다. 코드 예제에서 다음 사항에 유의합니다.

  • 코드 예제는 AmazonGlacierClient 클래스 인스턴스를 생성합니다.

  • 이 코드는 미국 서부(오레곤) 리전(us-west-2)을 사용하여 2단계: Amazon Glacier에서 볼트 생성에서 볼트를 만든 위치와 일치하도록 합니다.

  • 이 예시는 AWS SDK for Java의 하이레벨 API에서 ArchiveTransferManager 클래스의 download API 작업을 사용합니다. 이 예시에서는 Amazon Simple Notification Service(SNS) 토픽 및 해당 토픽을 구독하는 Amazon Simple Queue Service(Amazon SQS) 대기열을 생성합니다. 1단계: Amazon Glacier를 시작하기 전에의 지시에 따라 AWS Identity and Access Management(IAM) 관리자를 만들었다면 해당 사용자는 Amazon SNS 토픽 및 Amazon SQS 대기열을 만들고 사용하는 데 필요한 IAM 권한을 가지게 됩니다.

이 예제의 실행 방법에 대한 단계별 지침은 Eclipse를 사용하여 Amazon Glacier의 Java 예 실행 섹션을 참조하세요. 반드시 3단계: 아카이브를 Amazon Glacier의 볼트에 업로드에서 업로드한 파일의 아카이브 ID를 사용하여 아래와 같이 코드를 업데이트해야 합니다.

예: AWS SDK for Java를 사용하여 아카이브 다운로드
import java.io.File; import java.io.IOException; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.services.glacier.AmazonGlacierClient; import com.amazonaws.services.glacier.transfer.ArchiveTransferManager; import com.amazonaws.services.sns.AmazonSNSClient; import com.amazonaws.services.sqs.AmazonSQSClient; public class AmazonGlacierDownloadArchive_GettingStarted { public static String vaultName = "examplevault"; public static String archiveId = "*** provide archive ID ***"; public static String downloadFilePath = "*** provide location to download archive ***"; public static AmazonGlacierClient glacierClient; public static AmazonSQSClient sqsClient; public static AmazonSNSClient snsClient; public static void main(String[] args) throws IOException { ProfileCredentialsProvider credentials = new ProfileCredentialsProvider(); glacierClient = new AmazonGlacierClient(credentials); sqsClient = new AmazonSQSClient(credentials); snsClient = new AmazonSNSClient(credentials); glacierClient.setEndpoint("glacier.us-west-2.amazonaws.com"); sqsClient.setEndpoint("sqs.us-west-2.amazonaws.com"); snsClient.setEndpoint("sns.us-west-2.amazonaws.com"); try { ArchiveTransferManager atm = new ArchiveTransferManager(glacierClient, sqsClient, snsClient); atm.download(vaultName, archiveId, new File(downloadFilePath)); } catch (Exception e) { System.err.println(e); } } }