S3 Glacier で AWS SDK for Java を使用してボールトからアーカイブをダウンロードする - Amazon S3 Glacier

Amazon Simple Storage Service (Amazon S3) のアーカイブストレージを初めて使用する場合は、Amazon S3 の S3 Glacier ストレージクラス、S3 Glacier Instant RetrievalS3 Glacier Flexible RetrievalS3 Glacier Deep Archive について詳しく知ることから始めることをお勧めします。詳細については、「Amazon S3 ユーザーガイド」の「オブジェクトをアーカイブするための S3 Glacier ストレージクラス」および「ストレージクラス」を参照してください。 Amazon S3

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

S3 Glacier で AWS SDK for Java を使用してボールトからアーカイブをダウンロードする

次の Java コード例では、AWS SDK for Java の高レベル API を使用して、前のステップでアップロードしたアーカイブをダウンロードします。このコード例では、以下の点に注意してください。

  • この例では、AmazonGlacierClient クラスのインスタンスを作成します。

  • このコードでは、「ステップ 2: S3 Glacier でボールトを作成する」でボールトを作成した場所に合わせて、us-west-2 リージョン 米国西部(オレゴン) を使用します。

  • この例では、AWS SDK for Java の高レベル API の ArchiveTransferManager クラスの download API オペレーションを使用します。この例は、Amazon Simple Notification Service (Amazon SNS) トピックと、そのトピックにサブスクライブされている Amazon Simple Queue Service (Amazon SQS) キューを作成します。「ステップ 1: S3 Glacier の使用を開始する前に」の説明に従って AWS Identity and Access Management (IAM) 管理ユーザーを作成した場合、ユーザーには Amazon SNS トピックと Amazon SQS キューの作成と使用に必要な IAM アクセス許可があります。

この例を実行するための詳しい手順については、「Eclipse を使用した Amazon S3 Glacier の Java 実行例」を参照してください。ここに示したコードは、「ステップ 3: S3 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); } } }