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

Amazon Glacier で AWS SDK for .NETを使用してボールトメタデータを取得する

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

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

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

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

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

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

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

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

以下の C# コードスニペットは、前述の手順を示しています。このスニペットでは、米国西部(オレゴン)リージョン 内の既存のボールトのメタデータ情報を取得します。

AmazonGlacierClient client; client = new AmazonGlacierClient(Amazon.RegionEndpoint.USWest2); DescribeVaultRequest describeVaultRequest = new DescribeVaultRequest() { VaultName = "*** Provide vault name ***" }; DescribeVaultResponse describeVaultResponse = client.DescribeVault(describeVaultRequest); Console.WriteLine("\nVault description..."); Console.WriteLine( "\nVaultName: " + describeVaultResponse.VaultName + "\nVaultARN: " + describeVaultResponse.VaultARN + "\nVaultCreationDate: " + describeVaultResponse.CreationDate + "\nNumberOfArchives: " + describeVaultResponse.NumberOfArchives + "\nSizeInBytes: " + describeVaultResponse.SizeInBytes + "\nLastInventoryDate: " + describeVaultResponse.LastInventoryDate );

注記

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

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

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

次の C# コードスニペットでは、米国西部(オレゴン)リージョン のボールトのリストを取得します。リクエストでは、レスポンスで返されるボールトの数を 5 に制限します。このコードスニペットでは、AWS リージョンのボールトのリスト全体を取得する一連の ListVaults 呼び出しを行います。

AmazonGlacierClient client; client = new AmazonGlacierClient(Amazon.RegionEndpoint.USWest2); string lastMarker = null; Console.WriteLine("\n List of vaults in your account in the specific AWS Region ..."); do { ListVaultsRequest request = new ListVaultsRequest() { Limit = 5, Marker = lastMarker }; ListVaultsResponse response = client.ListVaults(request); foreach (DescribeVaultOutput output in response.VaultList) { Console.WriteLine("Vault Name: {0} \tCreation Date: {1} \t #of archives: {2}", output.VaultName, output.CreationDate, output.NumberOfArchives); } lastMarker = response.Marker; } while (lastMarker != null);

このコードスニペットにおいて、リクエストの Limit の値を指定しなかった場合、Amazon Glacier は、Amazon Glacier API に定められているように、最大 10 個のボールトを返します。

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

注記

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

例: AWS SDK for .NET の低レベル API を使用してボールトメタデータを取得する

コード例については、「例: AWS SDK for .NET の低レベル API を使用するボールトオペレーション」を参照してください。この C# コード例では、ボールトを作成し、ボールトメタデータを取得します。