の使用AWS SDK for .NETAmazon S3 Glacier - Amazon S3 Glacier

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

の使用AWS SDK for .NETAmazon S3 Glacier

AWS SDK for .NET API は、AWSSDK.dll で利用できます。AWS SDK for .NET のダウンロードについては、「サンプルコードライブラリ」を参照してください。「Amazon S3 Glacier での Amazon SDK の使用」で説明しているように、AWS SDK for .NET には高レベル API と低レベル API があります。

注記

低レベル API と高レベル API により、S3 Glacier にアクセスするためのスレッドセーフのクライアントが提供されます。最善の方法としては、ご利用のアプリケーションでクライアントを 1 つ作成し、そのクライアントをスレッド間で再利用することです。

低レベル API の使用

低レベルのAmazonGlacierClientクラスには、Amazon S3 Glacier (S3 Glacier) の基盤となる REST オペレーションに対応するメソッドがすべて用意されています (Amazon S3 Glacier の API リファレンス). これらのメソッドを呼び出すときには、対応するリクエストオブジェクトを作成するとともに、そのメソッドがオペレーションに S3 Glacier のレスポンスを返すためのレスポンスオブジェクトを指定する必要があります。

たとえば、AmazonGlacierClient クラスには、ボールト作成のための CreateVault メソッドがあります。このメソッドは、ボールトの作成 REST オペレーションに対応するものです (「ボールトの作成 (PUT vault)」を参照してください)。このメソッドを使用するには、のインスタンスを作成する必要がありますCreateVaultRequestおよびCreateVaultResponse次の C# コードスニペットに示すように、リクエスト情報を指定し、S3 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 またはオプションで '-' を指定します。この場合、S3 Glacier はAWS アカウントリクエストに署名するために使用された認証情報に関連する ID。お客様のアカウント ID を指定する場合は、ハイフンを含めないでください。AWS SDK for .NET を使用する場合に、アカウント ID を指定しなかったときは、ライブラリによってアカウント ID が「-」に設定されます。

高レベル API の使用

AWS SDK for .NET では、アプリケーションの開発をさらに簡素化するため、低レベル API の一部のメソッドの抽象化のレベルを高めた ArchiveTransferManager クラスが用意されています。このクラスには、UploadDownload など、アーカイブオペレーションのための便利なメソッドがあります。

たとえば、以下の 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;

実行したオペレーションはいずれも、AWS作成時に指定したリージョンArchiveTransferManagerオブジェクト。このガイドの高レベル API の例では、すべてこのパターンを使用しています。

注記

高レベルの ArchiveTransferManager クラスには、依然として低レベルの AmazonGlacierClient クライアントが必要です。このクライアントは、明示的に渡すことや、ArchiveTransferManager で作成することができます。

コード例の実行

.NET コード例の使用を最も手早く開始する方法は、AWS SDK for .NET をインストールすることです。詳細については、「」Amazon SDK for .NET

以下の手順では、このガイドに示しているコード例をテストするためのステップを示しています。

1

の認証情報プロファイルを作成するAWSAmazon SDK for .NET トピックで説明されている認証情報の設定AWS認証情報

2

新しい Visual Studio プロジェクトを作成するAWS空のプロジェクトテンプレートです。

3

プロジェクトファイル Program.cs 内のコードを、任意のセクションのコードで置き換えます。

4

コードを実行します。AWS Management Console を使用して、オブジェクトが作成されることを確認します。の詳細AWS Management Consoleに移動するには、http://aws.amazon.com/console/

エンドポイントの設定

デフォルトでは、AWS SDK for .NETエンドポイントを米国西部 (オレゴン) リージョン (https://glacier.us-west-2.amazonaws.com). エンドポイントを他のAWS以下の C# スニペットに示しているリージョン。

以下のスニペットには、米国西部 (オレゴン) リージョン (us-west-2) 低レベル API で。

AmazonGlacierClient client = new AmazonGlacierClient(Amazon.RegionEndpoint.USWest2);

以下のスニペットには、高レベル API で、米国西部 (オレゴン) リージョンにエンドポイントを設定する方法を示しています。

var manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USWest2);

現在サポートされているリストについては、AWSリージョンとエンドポイントの詳細については、Amazon S3 Glacier へのアクセス