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を使用してボールトメタデータを取得する

特定のボールトのボールトメタデータの取得

特定のボールトのメタデータおよび特定のAWSリージョン内のすべてのボールトのメタデータを取得することができます。以下に、Amazon SDK for Java の低レベル API を使用して特定のボールトのボールトメタデータを取得する手順を示します。

  1. AmazonGlacierClient クラスのインスタンス(クライアント)を作成します。

    ボールトが属する AWS リージョンを指定する必要があります。このクライアントを使用して実行するすべてのオペレーションは、そのAWS リージョンに適用されます。

  2. DescribeVaultRequest クラスのインスタンスを作成することにより、リクエスト情報を指定します。

    Amazon Glacier (Amazon Glacier) には、ボールト名とアカウント ID を指定する必要があります アカウント ID を指定しなかった場合には、リクエストに署名する際に使用した認証情報に関連付けられているアカウント ID が使用されます。詳細については、「Amazon Glacier でのAWS SDK for Java の使用」を参照してください。

  3. リクエストオブジェクトをパラメータとして指定して、describeVault メソッドを実行します。

    Amazon Glacier が返すボールトメタデータ情報は、DescribeVaultResult オブジェクトで使用できます。

以下の Java コードスニペットは、前述の手順を示しています。

DescribeVaultRequest request = new DescribeVaultRequest() .withVaultName("*** provide vault name***"); DescribeVaultResult result = client.describeVault(request); System.out.print( "\nCreationDate: " + result.getCreationDate() + "\nLastInventoryDate: " + result.getLastInventoryDate() + "\nNumberOfArchives: " + result.getNumberOfArchives() + "\nSizeInBytes: " + result.getSizeInBytes() + "\nVaultARN: " + result.getVaultARN() + "\nVaultName: " + result.getVaultName());

注記

基本となる REST API については、「ボールトの説明 (GET vault)」を参照してください。

リージョン内のすべてのボールトのボールトメタデータの取得

listVaults メソッドを使用して、特定のAWSリージョン内のすべてのボールトのメタデータを取得することもできます。

以下の Java コードスニペットにより、us-west-2 リージョン内のボールトのリストを取得します。リクエストでは、レスポンスで返されるボールトの数を 5 に制限します。このコードスニペットでは、AWS リージョンのボールトのリスト全体を取得する一連の listVaults 呼び出しを行います。

AmazonGlacierClient client; client.setEndpoint("https://glacier.us-west-2.amazonaws.com/"); String marker = null; do { ListVaultsRequest request = new ListVaultsRequest() .withLimit("5") .withMarker(marker); ListVaultsResult listVaultsResult = client.listVaults(request); List<DescribeVaultOutput> vaultList = listVaultsResult.getVaultList(); marker = listVaultsResult.getMarker(); for (DescribeVaultOutput vault : vaultList) { System.out.println( "\nCreationDate: " + vault.getCreationDate() + "\nLastInventoryDate: " + vault.getLastInventoryDate() + "\nNumberOfArchives: " + vault.getNumberOfArchives() + "\nSizeInBytes: " + vault.getSizeInBytes() + "\nVaultARN: " + vault.getVaultARN() + "\nVaultName: " + vault.getVaultName()); } } while (marker != null);

このコードスニペットにおいて、リクエストの Limit の値を指定しなかった場合、Amazon Glacier は、Amazon Glacier API に定められているように、最大 10 個のボールトを返します。リストに表示するボールトがさらに存在する場合、レスポンスの marker フィールドにボールト Amazon リソースネーム (ARN) が含まれ、この中に新しいリクエストのリストの続きが含まれます。そうでない場合、marker フィールドは null になります。

リスト内の各ボールトに対して返される情報は、特定のボールトに対して describeVault メソッドを呼び出して取得する情報と同じであることに注意してください。

注記

listVaults メソッドは基本となる REST API を呼び出します (「ボールトのリスト (GET vaults)」を参照)。

例: Amazon SDK for Java によるボールトメタデータの取得

コード例については、「例: AWS SDK for Java を使用したボールトの作成」を参照してください。この Java コード例では、ボールトを作成し、ボールトメタデータを取得します。