このページは、ボールトと 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 ストレージクラス
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon Glacier でのAWS SDK for .NET の使用
AWS SDK for .NET API は、AWSSDK.dll で利用できます。AWS SDK for .NET のダウンロードについては、「サンプルコードライブラリ
注記
低レベル API と高レベル API により、Amazon Glacier へのアクセスを目的としたスレッドセーフのクライアントが提供されます。最善の方法としては、ご利用のアプリケーションでクライアントを 1 つ作成し、そのクライアントをスレッド間で再利用することです。
低レベル API の使用
低レベルの AmazonGlacierClient クラスには、Amazon Glacier (Amazon Glacier) の基盤となる REST オペレーションにマッピングするメソッドがすべて用意されています (Amazon Glacier の API リファレンス)。これらのメソッドを呼び出すときには、対応するリクエストオブジェクトを作成するとともに、そのメソッドがオペレーションに Amazon Glacier のレスポンスを返すためのレスポンスオブジェクトを指定する必要があります。
たとえば、AmazonGlacierClient クラスには、ボールト作成のための CreateVault メソッドがあります。このメソッドは、ボールトの作成 REST オペレーションに対応するものです (「ボールトの作成 (PUT vault)」を参照してください)。このメソッドを使用するには、次の C# コードスニペットに示すように、CreateVaultRequest クラスと CreateVaultResponse クラスのインスタンスを作成して、リクエスト情報を指定し、Amazon Glacier のレスポンスを受け取る必要があります。
AmazonGlacierClient client; client = new AmazonGlacierClient(Amazon.RegionEndpoint.USEast1); CreateVaultRequest request = new CreateVaultRequest() { AccountId = "-", VaultName = "*** Provide vault name ***" }; CreateVaultResponse response = client.CreateVault(request);
このガイドの低レベル API の例では、すべてこのパターンを使用しています。
注記
ここに挙げたコードスニペットでは、リクエストの作成時に AccountId を指定しています。ただし、AWS SDK for .NET を使用する場合であれば、リクエストに AccountId を含めるかどうかは任意であるため、このガイドの低レベル API の例では、この値を設定していません。-AccountIdはAWS アカウントID。この値はリクエストの署名に使用した認証情報に関連する AWS アカウント ID と一致する必要があります。AWS アカウント ID、または Amazon Glacier がリクエストの署名に使用した認証情報に関連する AWS アカウント ID を使用している場合はオプションで「-」のどちらかを指定できます。お客様のアカウント ID を指定する場合は、ハイフンを含めないでください。AWS SDK for .NET を使用する場合に、アカウント ID を指定しなかったときは、ライブラリによってアカウント ID が「-」に設定されます。
高レベル API の使用
AWS SDK for .NET では、アプリケーションの開発をさらに簡素化するため、低レベル API の一部のメソッドの抽象化のレベルを高めた ArchiveTransferManager クラスが用意されています。このクラスには、Upload、Download など、アーカイブオペレーションのための便利なメソッドがあります。
たとえば、以下の C# コードスニペットでは、アーカイブのアップロードに Upload 高レベルメソッドを使用しています。
string vaultName = "examplevault"; string archiveToUpload = "c:\folder\exampleArchive.zip"; var manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USEast1); string archiveId = manager.Upload(vaultName, "archive description", archiveToUpload).ArchiveId;
実行したオペレーションはいずれも、ArchiveTransferManager オブジェクトの作成時に指定したAWSリージョンに適用される点に注意してください。このガイドの高レベル API の例では、すべてこのパターンを使用しています。
注記
高レベルの ArchiveTransferManager クラスには、依然として低レベルの AmazonGlacierClient クライアントが必要です。このクライアントは、明示的に渡すことや、ArchiveTransferManager で作成することができます。
コード例の実行
.NET コード例の使用を最も手早く開始する方法は、AWS SDK for .NET をインストールすることです。詳細については、「Amazon SDK for .NET」
以下の手順では、このガイドに示しているコード例をテストするためのステップを示しています。
1 |
Amazon SDK for .NET のトピック「AWS 認証情報の設定」で説明しているように、AWS 認証情報プロファイルを作成します。 |
2 |
AWS空の プロジェクト テンプレートを使用して、新しい Visual Studio プロジェクトを作成します。 |
3 |
プロジェクトファイル |
4 |
コードを実行します。AWS マネジメントコンソール を使用して、オブジェクトが作成されることを確認します。AWS マネジメントコンソール の詳細については、http://aws.amazon.com/console/ |
エンドポイントの設定
デフォルトでは、AWS SDK for .NETエンドポイントを米国西部 (オレゴン) リージョン (https://glacier.us-west-2.amazonaws.com)。以下の C# スニペットに示すように、エンドポイントを他のAWSリージョンに設定できます。
以下のスニペットには、低レベル API で 米国西部(オレゴン) リージョン (us-west-2) にエンドポイントを設定する方法を示しています。
AmazonGlacierClient client = new AmazonGlacierClient(Amazon.RegionEndpoint.USWest2);
以下のスニペットには、高レベル API で 米国西部(オレゴン) リージョンにエンドポイントを設定する方法を示しています。
var manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USWest2);
現在サポートされているAWSリージョンとエンドポイントのリストについては、「Amazon Glacier へのアクセス」を参照してください。