メニュー
Amazon Simple Storage Service
開発者ガイド (API Version 2006-03-01)

AWS SDK for .NET の使用

AWS SDK for .NET は、Amazon S3 のバケットとオブジェクトのオペレーションを行うための API を提供しています。オブジェクト操作用として、単一操作で複数のオブジェクトをアップロードするための API に加え、大きなオブジェクトをパートごとにアップロードするための API も用意されています(Multipart Upload API を使用したオブジェクトのアップロード を参照)。API では、高レベル API を使うか低レベル API を使うかを選択できます。

低レベル API

低レベル API は、バケットやオブジェクトに適用される作成、更新、削除などの基礎的な Amazon S3 REST オペレーションに対応します。大きなオブジェクトをアップロードする際に低レベルのマルチパートアップロード API を使用すると(Multipart Upload API を使用したオブジェクトのアップロード を参照)、マルチパートアップロードを一旦停止して再開したり、アップロード中にパートサイズを変更したり、事前にデータサイズがわからない状態でアップロードを開始するなど、さまざまな制御が可能となります。このような制御の必要がない場合は、高レベル API を使ってオブジェクトをアップロードしてください。

高レベル API

SDK では、オブジェクトのアップロード用に、TransferUtility クラスによる高レベルの抽象化を提供しています。高レベル API はより単純な API で、ほんの数行のコードを使って、ファイルやストリームを Amazon S3 にアップロードすることができます。データをアップロードする際、前述の低レベル API のセクションで説明したような各種の制御が必要ない場合は、高レベル API を使用してください。

小さなサイズのデータの場合は、TransferUtility API により、単一の操作でデータをアップロードできます。ただしデータのサイズが特定のしきい値を超えると、TransferUtility はマルチパートアップロード API の使用に切り替わります。デフォルトでは、複数のスレッドを使用して複数のパートを同時にアップロードします。あるパートのアップロードに失敗すると、API は、失敗したパートのアップロードを 3 回まで再試行します。ただしこれらのオプションは設定変更できます。

注記

データのソースにストリームを使っている場合、TransferUtility クラスは同時アップロードを実行しません。

.NET API の構成

AWS SDK for .NET を使用して Amazon S3 アプリケーションを作成する場合、AWSSDK.dll を使用します。このアセンブリの以下のネームスペースが、マルチパートアップロード API を提供します。

  • Amazon.S3.Transfer - データをパートごとにアップロードするための高レベル API を提供します。

    データをアップロードするための、ファイル、ディレクトリ、またはストリームを指定する TransferUtility クラスが含まれます。また TransferUtilityUploadRequest および TransferUtilityUploadDirectoryRequest クラスが含まれており、同時スレッドの数、パートのサイズ、オブジェクトメタデータ、ストレージクラス(STANDARD、REDUCED_REDUNDANCY)、オブジェクト ACL などの高度な設定を指定できます。

  • Amazon.S3 - 低レベル API の実装を提供します。

    これには、Amazon S3 REST マルチパートアップロード API に対応するメソッドが含まれています(「REST API を使用したマルチパートアップロード」を参照)。

  • Amazon.S3.Model - リクエストを作成しレスポンスを処理するための低レベル API クラスを提供します。

    例えば、マルチパートアップロードを開始する際に使用できる InitiateMultipartUploadRequest および InitiateMultipartUploadResponse クラスや、パートをアップロードする際に使用できる UploadPartRequest および UploadPartResponse クラスなどを提供します。

AWS SDK for .NET API の詳細については、『AWS SDK for .NET Reference』を参照してください。

Amazon S3 .NET コード例の実行

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

注記

このガイドで紹介する例は、AWS SDK for .NET バージョン 2.0 に準拠しています。

以下のタスクでは、このセクションで提供されている C# コードサンプルの作成とテストの方法について順に説明します。

.NET コード例作成の一般的な手順

1

AWS SDK for .NET のトピック「Configuring AWS Credentials」で説明しているように、AWS 認証情報の認証情報プロファイルを作成します。

2

AWS Empty Project テンプレートを使用して、新しい Visual Studio プロジェクトを作成します。

3

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

4

コードを実行します。AWS マネジメントコンソール を使用して、オブジェクトが作成されることを確認します。AWS マネジメントコンソールの詳細については、https://aws.amazon.com/console/ を参照してください。