Amazon Glacier AWS SDK for Java での の使用 - Amazon Glacier

このページは、Vaults と 2012 年の元の REST API を使用する Amazon Glacier サービスの既存のお客様専用です。

アーカイブストレージソリューションをお探しの場合は、Amazon Glacier Amazon S3、S3 Glacier Flexible Retrieval、S3 S3 Glacier Deep Archive の Amazon Glacier ストレージクラスを使用することをお勧めします。これらのストレージオプションの詳細については、Amazon Glacier ストレージクラス」を参照してください。

Amazon Glacier (元のスタンドアロンボールトベースのサービス) は、2025 年 12 月 15 日以降、既存の顧客に影響を与えずに新規顧客を受け入れなくなります。Amazon Glacier は、ボールトにデータを保存する独自の APIs を備えたスタンドアロンサービスであり、Amazon S3 および Amazon S3 Glacier ストレージクラスとは異なります。既存のデータは Amazon Glacier で無期限に安全でアクセス可能です。移行は必要ありません。低コストの長期アーカイブストレージの場合、 は Amazon S3 Glacier ストレージクラス AWS を推奨します。これにより、S3 バケットベースの APIs、フル AWS リージョン 可用性、低コスト、 AWS サービス統合で優れたカスタマーエクスペリエンスを実現できます。拡張機能が必要な場合は、Amazon Glacier ボールトから Amazon S3 Glacier ストレージクラスにデータを転送するためのソリューションガイダンスを使用して、Amazon S3 Glacier ストレージクラスへの移行を検討してください。 AWS Amazon Glacier Amazon S3

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

Amazon Glacier AWS SDK for Java での の使用

AWS SDK for Java は、APIs の両方を提供しますAmazon Glacier での AWS SDKs の使用。 Amazon Glacier Amazon Glacier のダウンロードの詳細については AWS SDK for Java、「Amazon SDK for Java」を参照してください。

注記

AWS SDK for Java は、Amazon Glacier にアクセスするためのスレッドセーフクライアントを提供します。最善の方法としては、ご利用のアプリケーションでクライアントを 1 つ作成し、そのクライアントをスレッド間で再利用することです。

低レベル API の使用

低レベルAmazonGlacierClientクラスは、Amazon Glacier () の基盤となる REST オペレーションにマッピングされるすべてのメソッドを提供しますAmazon Glacier の API リファレンス。これらのメソッドのいずれかを呼び出すときは、対応するリクエストオブジェクトを作成し、メソッドが Amazon Glacier レスポンスを オペレーションに返すことができるレスポンスオブジェクトを指定する必要があります。

たとえば、AmazonGlacierClient クラスには、ボールト作成のための createVault メソッドがあります。このメソッドは、ボールトの作成 REST オペレーションに対応するものです (「ボールトの作成 (PUT vault)」を参照してください)。このメソッドを使用するには、次の Java コードスニペットに示すように、Amazon Glacier レスポンスを受信する CreateVaultResult オブジェクトのインスタンスを作成する必要があります。

AmazonGlacierClient client = new AmazonGlacierClient(credentials); client.setEndpoint("https://glacier.us-west-2.amazonaws.com/"); CreateVaultRequest request = new CreateVaultRequest() .withAccountId("-") .withVaultName(vaultName); CreateVaultResult result = client.createVault(createVaultRequest);

このガイドの低レベル API の例では、すべてこのパターンを使用しています。

注記

ここに挙げたコードスニペットでは、リクエストの作成時に AccountID を指定しています。ただし、 を使用する場合 AWS SDK for Java、リクエストAccountIdの はオプションであるため、このガイドのすべての低レベルの例ではこの値を設定しません。AccountId は AWS アカウント ID です。この値は、リクエストの署名に使用される認証情報に関連付けられた AWS アカウント ID と一致する必要があります。 AWS アカウント ID またはオプションで「-」を指定できます。この場合、Amazon Glacier はリクエストの署名に使用される認証情報に関連付けられた AWS アカウント ID を使用します。お客様のアカウント ID を指定する場合は、ハイフンを含めないでください。を使用する場合 AWS SDK for Java、アカウント ID を指定しない場合、ライブラリはアカウント ID を「-」に設定します。

高レベル API の使用

アプリケーション開発をさらに簡素化するために、 AWS SDK for Java には、低レベル API の一部のメソッドに対して高レベルの抽象化を実装する ArchiveTransferManager クラスが用意されています。このクラスには、uploaddownload など、アーカイブオペレーションのための便利なメソッドがあります。

たとえば、以下の Java コードスニペットでは、アーカイブのアップロードに upload 高レベルメソッドを使用しています。

String vaultName = "examplevault"; String archiveToUpload = "c:/folder/exampleArchive.zip"; ArchiveTransferManager atm = new ArchiveTransferManager(client, credentials); String archiveId = atm.upload(vaultName, "Tax 2012 documents", new File(archiveToUpload)).getArchiveId();

実行するオペレーションは、ArchiveTransferManagerオブジェクトの作成時に指定した AWS リージョンに適用されることに注意してください。 AWS リージョンを指定しない場合、 はデフォルトの AWS リージョンus-east-1として AWS SDK for Java を設定します。

このガイドの高レベル API の例では、すべてこのパターンを使用しています。

注記

高レベルの ArchiveTransferManager クラスは、AmazonGlacierClient インスタンスまたは AWSCredentials インスタンスを使用して構築できます。

Eclipse を使用した Amazon Glacier の Java の実行例

Java コード例の使用を最も手早く開始する方法は、最新の AWS Toolkit for Eclipseをインストールすることです。最新ツールキットのインストールと更新については、http:///eclipse を参照してください。以下のタスクは、このセクションに示した Java コード例を作成およびテストする手順を示しています。

Java コード例作成の一般的な手順

1

Amazon SDK for Java の「認証情報の提供 AWS SDK for Java 」トピックの説明に従って、 AWS 認証情報のデフォルトの認証情報プロファイルを作成します。 AWS

2

Eclipse AWS で新しい Java プロジェクトを作成します。プロジェクトは AWS SDK for Java用にあらかじめ設定されています。

3

任意のセクションからプロジェクトにコードをコピーします。

4

必要なデータを指定してコードを修正します。たとえばファイルをアップロードする場合は、ファイルのパスとバケットの名前を指定します。

5

コードを実行します。 AWS マネジメントコンソールを使用して、オブジェクトが作成されることを確認します。の詳細については AWS マネジメントコンソール、http://aws.amazon.com/console/ を参照してください。

エンドポイントの設定

デフォルトでは、 はエンドポイント AWS SDK for Java を使用しますhttps://glacier.us-east-1.amazonaws.com。以下の Java コードスニペットに示すように、エンドポイントは明示的に設定できます。

以下のスニペットには、低レベル API で 米国西部(オレゴン リージョン (us-west-2) にエンドポイントを設定する方法を示しています。

client = new AmazonGlacierClient(credentials); client.setEndpoint("glacier.us-west-2.amazonaws.com");

以下のスニペットには、高レベル API で 米国西部(オレゴン) リージョンにエンドポイントを設定する方法を示しています。

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"); ArchiveTransferManager atm = new ArchiveTransferManager(glacierClient, sqsClient, snsClient);

サポートされている AWS リージョンとエンドポイントのリストについては、「」を参照してくださいAmazon Glacier へのアクセス