の使用AWS SDK for JavaAmazon S3 Glacier - Amazon S3 Glacier

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

の使用AWS SDK for JavaAmazon S3 Glacier

-AWS SDK for Java「」で説明したように、Amazon S3 Glacier (S3 Glacier) 用の高レベル API と低レベル API があります。Amazon S3 Glacier での Amazon SDK の使用。のダウンロードの詳細については、「」を参照してください。AWS SDK for Java「」を参照してくださいAmazon SDK for Java

注記

-AWS SDK for Javaには、S3 Glacier へのアクセスに使用できるスレッドセーフなクライアントが用意されています。最善の方法としては、ご利用のアプリケーションでクライアントを 1 つ作成し、そのクライアントをスレッド間で再利用することです。

低レベル API の使用

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

たとえば、AmazonGlacierClient クラスには、ボールト作成のための createVault メソッドがあります。このメソッドは、ボールトの作成 REST オペレーションに対応するものです (「ボールトの作成 (PUT vault)」を参照してください)。このメソッドを使用するには、のインスタンスを作成する必要があります。CreateVaultResult以下の Java コードスニペットに示すように、S3 Glacier レスポンスを受け取るオブジェクト。

AmazonGlacierClient client = new AmazonGlacierClient(credentials); client.setEndpoint("https://glacier.us-west-2.amazonaws.com/"); CreateVaultRequest request = new CreateVaultRequest() .withAccountId("-") .withVaultName(vaultName); CreateVaultResult result = client.createVault(createVaultRequest);

このガイドの低レベル API の例では、すべてこのパターンを使用しています。

注記

ここに挙げたコードスニペットでは、リクエストの作成時に AccountID を指定しています。ただし、AWS SDK for Java を使用する場合であれば、リクエストに AccountId を含めるかどうかは任意であるため、このガイドの低レベル API の例では、この値を設定していません。-AccountIdですかAWS アカウントID。この値は一致する必要がありますAWS アカウントリクエストに署名するために使用された認証情報に関連する ID。のどちらかを指定できます。AWS アカウントID またはオプションで '-' を指定します。この場合、S3 Glacier はAWS アカウントリクエストに署名するために使用された認証情報に関連する ID。お客様のアカウント ID を指定する場合は、ハイフンを含めないでください。AWS SDK for Java を使用する場合に、アカウント ID を指定しなかったときは、ライブラリによってアカウント ID が「-」に設定されます。

高レベル API の使用

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

たとえば、以下の Java コードスニペットでは、アーカイブのアップロードに upload 高レベルメソッドを使用しています。

String vaultName = "examplevault"; String archiveToUpload = "c:/folder/exampleArchive.zip"; ArchiveTransferManager atm = new ArchiveTransferManager(client, credentials); String archiveId = atm.upload(vaultName, "Tax 2012 documents", new File(archiveToUpload)).getArchiveId();

実行したオペレーションはいずれも、AWS作成時に指定したリージョンArchiveTransferManagerオブジェクト。何も指定しない場合AWSリージョン、AWS SDK for Javaセットus-east-1デフォルトとしてAWSリージョン。

このガイドの高レベル API の例では、すべてこのパターンを使用しています。

注記

高レベルの ArchiveTransferManager クラスは、AmazonGlacierClient インスタンスまたは AWSCredentials インスタンスを使用して構築できます。

Eclipse を使用した Amazon S3 Glacier の Java サンプルの実行

Java コード例の使用を最も手早く開始する方法は、最新の AWS Toolkit for Eclipse をインストールすることです。最新ツールキットのインストールと更新の詳細については、「」を参照してください。http://aws.amazon.com/eclipse。以下のタスクは、このセクションに示した Java コード例を作成およびテストする手順を示しています。

1

のデフォルトの認証情報プロファイルを作成します。AWSで説明されている認証情報AWS SDK for Javaトピック提供AWSJava 用 Amazon SDK の認証情報

2

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

3

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

4

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

5

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

エンドポイントの設定

デフォルトで、AWS SDK for Java はエンドポイント https://glacier.us-east-1.amazonaws.com を使用しています。以下の Java コードスニペットに示すように、エンドポイントは明示的に設定できます。

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

client = new AmazonGlacierClient(credentials); client.setEndpoint("glacier.us-west-2.amazonaws.com");

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

glacierClient = new AmazonGlacierClient(credentials); sqsClient = new AmazonSQSClient(credentials); snsClient = new AmazonSNSClient(credentials); glacierClient.setEndpoint("glacier.us-west-2.amazonaws.com"); sqsClient.setEndpoint("sqs.us-west-2.amazonaws.com"); snsClient.setEndpoint("sns.us-west-2.amazonaws.com"); ArchiveTransferManager atm = new ArchiveTransferManager(glacierClient, sqsClient, snsClient);

サポートされているリストについてはAWSリージョンとエンドポイント。「」を参照してください。Amazon S3 Glacier へのアクセス