Amazon Glacier で AWS SDK for Java を使用してボールトからアーカイブをダウンロードする - 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 は、ボールトにデータを保存する独自の API を備えたスタンドアロンサービスであり、Amazon S3 および Amazon S3 Glacier ストレージクラスとは異なります。既存のデータは Amazon Glacier で無期限に安全性が確保され、引き続きアクセス可能です。移行は必要ありません。低コストの長期アーカイブストレージの場合、 は Amazon S3 Glacier ストレージクラス AWS を推奨します。これにより、S3 バケットベースの APIs、低コスト、 AWS サービス統合で優れたカスタマーエクスペリエンスを実現できます。 AWS リージョン 拡張機能が必要な場合は、Amazon Glacier ボールトから Amazon S3 Glacier ストレージクラスにデータを転送するためのAWS ソリューションガイダンスを使用して、Amazon S3 Glacier ストレージクラスへの移行を検討してください。

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

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

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

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

  • このコードでは、「ステップ 2: Amazon 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: 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); } } }