を使用して、Amazon S3 Glacier でボールトを作成するAWS SDK for .NET - Amazon S3 Glacier

このページは、Vaults と 2012 年以降の元の REST API を使用する S3 Glacier サービスの既存のお客様のみを対象としています。

アーカイブストレージソリューションをお探しの場合は、Amazon S3、S3 Glacier Instant Retrieval、S3 Glacier Flexible Retrieval、S3 Glacier Deep Archive の S3 Glacier ストレージクラスを使用することをお勧めします。これらのストレージオプションの詳細については、「Amazon S3 ユーザーガイド」の「S3 Glacier ストレージクラス」およびS3 Glacier ストレージクラスを使用した長期データストレージ」を参照してください。 Amazon S3 これらのストレージクラスは Amazon S3 API を使用し、すべてのリージョンで利用でき、Amazon S3 コンソール内で管理できます。Storage Cost Analysis、Storage Lens、複数の暗号化オプションを含むセキュリティ機能などを提供します。

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

を使用して、Amazon S3 Glacier でボールトを作成するAWS SDK for .NET

どちらも高レベル 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.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 を使用してボールトを作成する手順を示します。

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

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

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

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

  3. リクエストオブジェクトをパラメータとして指定して、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.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); } } }