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

AWS SDK for Java の使用

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

低レベル API

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

高レベル API

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

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

注記

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

Java API の構成

この API は、AWS SDK for Java 内の以下のパッケージに同梱されています。

  • com.amazonaws.services.s3 – Amazon S3 バケットおよびオブジェクトのオペレーションを行うための実装 API を同梱しています。

    例えば、バケットの作成、オブジェクトのアップロード、オブジェクトの取得、オブジェクトの削除、キーのリストなどを行うためのメソッドが用意されています。

  • com.amazonaws.services.s3.transfer - 高レベル API データアップロードを提供します。

    この高レベル API は、Amazon S3 へのオブジェクトのアップロードをさらに簡素化するためのものです。TransferManager クラスが含まれています。大きなオブジェクトをパートに分けてアップロードする際に特に有用です。さらに、アップロードするパートの最小パートサイズと、マルチパートアップロードを使用する場合のバイト単位のしきい値を設定するために使用できる TransferManagerConfiguration クラスも含まれます。

  • com.amazonaws.services.s3.model - リクエストの作成やレスポンスの処理を行うための低レベル API クラスを提供します。

    例えば、オブジェクト取得リクエストを記述するための GetObjectRequest クラス、キーのリストリクエストを記述するための ListObjectRequest クラス、マルチパートアップロードを開始する際の InitiateMultipartUploadRequest クラスと InitiateMultipartUploadResult クラスなどが含まれます。

AWS SDK for Java API の詳細については、「AWS SDK for Java API Reference」を参照してください。

Java コード例のテスト

Java コード例の使用を最も手早く開始する方法は、最新の AWS Toolkit for Eclipse をインストールすることです。Java 開発環境と AWS Toolkit for Eclipse のセットアップについては、『AWS SDK for Java Developer Guide』の「AWS SDK for Java をインストールする」を参照してください。

次のタスクは、このガイドで提供している Java コード例を作成およびテストする手順を示しています。

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

1

AWS SDK for Java Developer Guide』の「AWS SDK for Java で使用するための AWS 認証情報のセットアップ」の説明に従って、AWS 認証情報プロファイルのファイルを作成します。

2

Eclipse で新しい AWS Java プロジェクトを作成します。プロジェクトは AWS SDK for Java 用にあらかじめ設定されています。

3

任意のセクションからプロジェクトにコードをコピーします。

4

必要なデータを指定してコードを修正します。例えばファイルをアップロードする場合は、ファイルのパスとバケットの名前を指定します。

5

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