

 **このページは、ボールトと 2012 年リリース当時の REST API を使用する、Amazon Glacier サービスの既存のお客様のみを対象としています。**

アーカイブストレージソリューションをお探しの場合は、Amazon S3 の Amazon Glacier ストレージクラス (S3 Glacier Instant Retrieval、S3 Glacier Flexible Retrieval、S3 Glacier Deep Archive) を使用することをお勧めします。これらのストレージオプションの詳細については、「[Amazon Glacier ストレージクラス](https://aws.amazon.com/s3/storage-classes/glacier/)」を参照してください。

Amazon Glacier (元のスタンドアロンボールトベースのサービス) は、新規顧客を受け入れなくなりました。Amazon Glacier は、ボールトにデータを保存する独自の API を備えたスタンドアロンサービスであり、Amazon S3 および Amazon S3 Glacier ストレージクラスとは異なります。既存のデータは Amazon Glacier で無期限に安全性が確保され、引き続きアクセス可能です。移行は必要ありません。低コストの長期アーカイブストレージの場合、 は [Amazon S3 Glacier ストレージクラス](https://aws.amazon.com/s3/storage-classes/glacier/) AWS を推奨します。これにより、S3 バケットベースの APIs、低コスト、 AWS サービス統合で優れたカスタマーエクスペリエンスを実現できます。 AWS リージョン 拡張機能が必要な場合は、[Amazon Glacier ボールトから Amazon S3 Glacier ストレージクラスにデータを転送するためのAWS ソリューションガイダンス](https://aws.amazon.com/solutions/guidance/data-transfer-from-amazon-s3-glacier-vaults-to-amazon-s3/)を使用して、Amazon S3 Glacier ストレージクラスへの移行を検討してください。

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

# Amazon Glacier AWS SDK for Java での の使用
<a name="using-aws-sdk-for-java"></a>

 AWS SDK for Java は、APIs の両方を提供します[Amazon Glacier での AWS SDKs の使用](using-aws-sdk.md)。 Amazon Glacier のダウンロードの詳細については AWS SDK for Java、[「Amazon SDK for Java](https://aws.amazon.com/sdkforjava/)」を参照してください。

**注記**  
 AWS SDK for Java は、Amazon Glacier にアクセスするためのスレッドセーフクライアントを提供します。最善の方法としては、ご利用のアプリケーションでクライアントを 1 つ作成し、そのクライアントをスレッド間で再利用することです。

**Topics**
+ [低レベル API の使用](#about-low-level-java-api)
+ [高レベル API の使用](#about-high-level-java-api)
+ [Eclipse を使用した Amazon Glacier の Java 実行例](#setting-up-and-testing-sdk-java)
+ [エンドポイントの設定](#setting-sdk-java-endpoint)

## 低レベル API の使用
<a name="about-low-level-java-api"></a>

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

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

 

```
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`の はオプションであるため、このガイドのすべての低レベルの例ではこの値を設定しません。`AccountId` は AWS アカウント ID です。この値は、リクエストの署名に使用される認証情報に関連付けられた AWS アカウント ID と一致する必要があります。 AWS アカウント ID またはオプションで「-」を指定できます。この場合、Amazon Glacier はリクエストの署名に使用される認証情報に関連付けられた AWS アカウント ID を使用します。お客様のアカウント ID を指定する場合は、ハイフンを含めないでください。を使用する場合 AWS SDK for Java、アカウント ID を指定しない場合、ライブラリはアカウント ID を「-」に設定します。

## 高レベル API の使用
<a name="about-high-level-java-api"></a>

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

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

実行するオペレーションは、`ArchiveTransferManager`オブジェクトの作成時に指定した AWS リージョンに適用されることに注意してください。 AWS リージョンを指定しない場合、 はデフォルトの AWS リージョン`us-east-1`として AWS SDK for Java を設定します。

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

 

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

## Eclipse を使用した Amazon Glacier の Java 実行例
<a name="setting-up-and-testing-sdk-java"></a>

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


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

|  |  | 
| --- |--- |
| 1 |  Amazon SDK for Java の「認証情報の提供 AWS SDK for Java 」トピックの説明に従って、 AWS 認証情報のデフォルトの認証情報プロファイルを作成します。 [AWS](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/credentials.html)  | 
| 2 | Eclipse AWS で新しい Java プロジェクトを作成します。プロジェクトは AWS SDK for Java用にあらかじめ設定されています。 | 
| 3 | 任意のセクションからプロジェクトにコードをコピーします。 | 
| 4 | 必要なデータを指定してコードを修正します。たとえばファイルをアップロードする場合は、ファイルのパスとバケットの名前を指定します。 | 
| 5 | コードを実行します。 AWS マネジメントコンソールを使用して、オブジェクトが作成されることを確認します。の詳細については AWS マネジメントコンソール、[http://aws.amazon.com/console/](https://aws.amazon.com/console/) を参照してください。 | 

## エンドポイントの設定
<a name="setting-sdk-java-endpoint"></a>

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

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

**Example**  

```
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 Glacier へのアクセス](amazon-glacier-accessing.md)。