このページは、2012 年にリリースされた当初のボールトと REST API を使用する、S3 Glacier サービスの既存のお客様を対象としたものです。
アーカイブストレージソリューションをお探しの場合は、Amazon S3 の S3 Glacier ストレージクラス (S3 Glacier Instant Retrieval、S3 Glacier Flexible Retrieval、S3 Glacier Deep Archive) を使用することをお勧めします。これらのストレージオプションの詳細については、「Amazon S3 ユーザーガイド」の「S3 Glacier ストレージクラス
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS SDK for .NET を使用して、Amazon S3 Glacier でボールトを作成する
どちらも高レベル API と低レベル APIAmazon SDK で.NET で提供されているボールト作成のためのメソッドがあります。
AWS SDK for .NET の高レベル API を使用したボールトの作成
高レベル API ArchiveTransferManager
クラスは、AWSリージョンでボールト作成に使用できる CreateVault
メソッドを提供します。
例: AWS SDK for .NET の高レベル API を使用するボールトオペレーション
以下の C# コード例では、US West (Oregon)Region でボールトを作成および削除します。ボールトを作成できる AWS リージョン のリストについては、「Amazon S3 Glacier へのアクセス」を参照してください。
以下の例を実行するための詳しい手順については、「コード例の実行」を参照してください。ボールト名に示すコードを更新する必要があります。
using System; using Amazon.Glacier; using Amazon.Glacier.Transfer; using Amazon.Runtime; namespace glacier.amazon.com.rproxy.goskope.com.docsamples { class VaultCreateDescribeListVaultsDeleteHighLevel { static string vaultName = "*** Provide vault name ***"; public static void Main(string[] args) { try { var manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USWest2); manager.CreateVault(vaultName); Console.WriteLine("Vault created. To delete the vault, press Enter"); Console.ReadKey(); manager.DeleteVault(vaultName); Console.WriteLine("\nVault deleted. To continue, press Enter"); Console.ReadKey(); } catch (AmazonGlacierException e) { Console.WriteLine(e.Message); } catch (AmazonServiceException e) { Console.WriteLine(e.Message); } catch (Exception e) { Console.WriteLine(e.Message); } Console.WriteLine("To continue, press Enter"); Console.ReadKey(); } } }
AWS SDK for .NET の低レベル API を使用してボールトを作成する
低レベル API には、ボールトの作成と削除、ボールトの説明の取得、特定の AWS リージョン で作成されたボールトのリストの取得など、すべてのボールトオペレーションに関するメソッドが用意されています。以下に、AWS SDK for .NET を使用してボールトを作成する手順を示します。
-
AmazonGlacierClient
クラスのインスタンス(クライアント)を作成します。ボールトを作成する AWS リージョン を指定する必要があります。このクライアントを使用して実行するすべてのオペレーションは、その AWS リージョン に適用されます。
-
CreateVaultRequest
クラスのインスタンスを作成することにより、リクエスト情報を指定します。Amazon S3 Glacier (S3 Glacier) には、ボールト名とアカウント ID を指定する必要があります アカウント ID を指定しなかった場合は、リクエストに署名する際に指定した認証情報に関連づけられているアカウント ID が使用されます。詳細については、「Amazon S3 Glacier でのAWS SDK for .NETの使用」を参照してください。
-
リクエストオブジェクトをパラメータとして指定して、
CreateVault
メソッドを実行します。S3 Glacier が返すレスポンスは、
CreateVaultResponse
オブジェクトで確認できます。
例: AWS SDK for .NET の低レベル API を使用するボールトオペレーション
以下の C# の例は、前述の手順を示しています。この例では、米国西部 (オレゴン) リージョンにボールトを作成します。また、このコード例はボールト情報を取得し、同じ AWS リージョン のすべてのボールトを一覧表示して、作成されているボールトを削除します。出力される Location
は、アカウント ID、AWS リージョン、ボールト名を含むボールトの相対 URI です。
注記
基本となる REST API については、「ボールトの作成 (PUT vault)」を参照してください。
以下の例を実行するための詳しい手順については、「コード例の実行」を参照してください。ボールト名に示すコードを更新する必要があります。
using System; using Amazon.Glacier; using Amazon.Glacier.Model; using Amazon.Runtime; namespace glacier.amazon.com.rproxy.goskope.com.docsamples { class VaultCreateDescribeListVaultsDelete { static string vaultName = "*** Provide vault name ***"; static AmazonGlacierClient client; public static void Main(string[] args) { try { using (client = new AmazonGlacierClient(Amazon.RegionEndpoint.USWest2)) { Console.WriteLine("Creating a vault."); CreateAVault(); DescribeVault(); GetVaultsList(); Console.WriteLine("\nVault created. Now press Enter to delete the vault..."); Console.ReadKey(); DeleteVault(); } } catch (AmazonGlacierException e) { Console.WriteLine(e.Message); } catch (AmazonServiceException e) { Console.WriteLine(e.Message); } catch (Exception e) { Console.WriteLine(e.Message); } Console.WriteLine("To continue, press Enter"); Console.ReadKey(); } static void CreateAVault() { CreateVaultRequest request = new CreateVaultRequest() { VaultName = vaultName }; CreateVaultResponse response = client.CreateVault(request); Console.WriteLine("Vault created: {0}\n", response.Location); } static void DescribeVault() { DescribeVaultRequest describeVaultRequest = new DescribeVaultRequest() { VaultName = vaultName }; 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 ); } static void GetVaultsList() { string lastMarker = null; Console.WriteLine("\n List of vaults in your account in the specific region ..."); do { ListVaultsRequest request = new ListVaultsRequest() { 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); } static void DeleteVault() { DeleteVaultRequest request = new DeleteVaultRequest() { VaultName = vaultName }; DeleteVaultResponse response = client.DeleteVault(request); } } }