

 **このページは、ボールトと 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 SDKs の使用
<a name="using-aws-sdk"></a>

AWS にはSDKs が用意されています。 Amazon Glacier SDK ライブラリは基本となる Amazon Glacier API をラップし、プログラミングタスクを簡素化します。たとえば、Amazon Glacier に送信する各リクエストに対して、リクエストを認証するために署名を含める必要があります。SDK ライブラリを使用する場合は、コードに AWS セキュリティ認証情報のみを指定する必要があります。ライブラリは必要な署名を計算し、Amazon Glacier に送信されるリクエストに含めます。 AWS SDKs は、基盤となる REST API にマッピングするライブラリを提供し、リクエストを簡単に構築してレスポンスを処理するために使用できるオブジェクトを提供します。

**Topics**
+ [AWS Java および .NET 用の SDK ライブラリ](#java-.net-sdk-libraries)
+ [AWS SDK での Amazon Glacier の使用](sdk-general-information-section.md)
+ [Amazon Glacier AWS SDK for Java での の使用](using-aws-sdk-for-java.md)
+ [Amazon Glacier でのAWS SDK for .NET の使用](using-aws-sdk-for-dot-net.md)

 AWS Command Line Interface (AWS CLI) は、Amazon Glacier を含む AWS のサービスを管理するための統合ツールです。のダウンロードについては AWS CLI、「」を参照してください[AWS Command Line Interface](https://aws.amazon.com/cli/)。Amazon Glacier CLI コマンドのリストについては、「[AWS CLI コマンドリファレンス](https://docs.aws.amazon.com/cli/latest/reference/glacier/index.html)」を参照してください。

## AWS Java および .NET 用の SDK ライブラリ
<a name="java-.net-sdk-libraries"></a>

Java および .NET 用 AWS SDKs は、高レベルおよび低レベルのラッパーライブラリを提供します。

このデベロッパーガイド AWS SDK for .NET 全体で AWS SDK for Java と を使用して、Amazon Glacier の使用例を確認できます。

### 低レベル API とは
<a name="what-is-low-level-api"></a>

低レベルのラッパーライブラリは、Amazon Glacier でサポートされる基本となる REST API ([Amazon Glacier の API リファレンス](amazon-glacier-api.md)) に厳密にマップしています。低レベル API では、各 Amazon Glacier REST オペレーションに対して、対応するメソッド、リクエスト情報を指定するリクエストオブジェクト、および Amazon Glacier レスポンスを処理するレスポンスオブジェクトを提供します。低レベルのラッパーライブラリは、基本となる Amazon Glacier オペレーションの最も完全な実装です。

これらの SDK ライブラリの詳細については、「[Amazon Glacier AWS SDK for Java での の使用](using-aws-sdk-for-java.md)」および「[Amazon Glacier でのAWS SDK for .NET の使用](using-aws-sdk-for-dot-net.md)」を参照してください。

### 高レベル API とは
<a name="what-is-high-level-api"></a>

アプリケーション開発をさらに簡素化するために、これらのライブラリでは一部のオペレーションに対して高レベルの抽象化を提供します。例えば、次のようになります。
+ アーカイブのアップロード - 低レベル API を使用して、ファイル名およびアーカイブの保存先となるボールトの名前とともにアーカイブをアップロードする場合は、ペイロードのチェックサム (SHA-256 木構造ハッシュ) を指定する必要があります。一方、高レベル API ではチェックサムが自動的に計算されます。
+ アーカイブまたはボールトインベントリのダウンロード - 低レベル API を使用して、アーカイブをダウンロードする場合、まずジョブを開始し、ジョブが完了するまで待機してから、ジョブの出力を取得します。Amazon Glacier でジョブの完了時に通知されるように、Amazon Simple Notification Service (Amazon SNS) トピックを設定する追加コードを記述する必要があります。また、ジョブの完了メッセージがトピックに投稿されたかどうかを確認するポーリングのメカニズムも必要です。高レベル API には、これらのすべてのステップに対応した、アーカイブをダウンロードするためのメソッドが用意されています。必要な操作は、アーカイブ ID と、ダウンロードしたデータを保存するフォルダーのパスを指定することのみです。

これらの SDK ライブラリの詳細については、「[Amazon Glacier AWS SDK for Java での の使用](using-aws-sdk-for-java.md)」および「[Amazon Glacier でのAWS SDK for .NET の使用](using-aws-sdk-for-dot-net.md)」を参照してください。

### 高レベル API と低レベル API を使用する場合
<a name="when-to-use-high-low-api"></a>

一般的に、オペレーションの実行に必要なメソッドが高レベル API に用意されている場合は、シンプルな高レベル API を使用してください。ただし、高レベル API でその機能が提供されていない場合は、低レベル API を使用できます。また、低レベル API では、エラー発生時の再試行ロジックなど、オペレーションを細かく制御できます。たとえば、アーカイブをアップロードするときに、高レベル API ではファイルのサイズに応じて、単一オペレーションでアーカイブをアップロードするか、マルチパートアップロード API を使用するかを決定します。APIには、アップロードが失敗した場合の再試行ロジックも組み込まれています。ただし、アプリケーションでこれらの決定を細かく制御する必要がある場合は、低レベル API を使用します。