

 **このページは、ボールトと 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 ストレージクラスへの移行を検討してください。

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

# ステップ 4: Amazon Glacier でボールトからアーカイブをダウンロードする
<a name="getting-started-download-archive"></a>

このステップでは、「[ステップ 3: Amazon Glacier でボールトにアーカイブをアップロードする](getting-started-upload-archive.md)」でアップロードしたサンプルアーカイブをダウンロードします。

 

**重要**  
Amazon Glacier は、コンソールも提供します。ただし、アップロード、ダウンロード、削除などのアーカイブオペレーションでは、 AWS Command Line Interface (CLI) を使用するか、コードを記述する必要があります。アーカイブオペレーションについては、コンソールによるサポートはありません。たとえば、写真、ビデオ、その他のドキュメントなどのデータをアップロードするには、REST API を直接使用する AWS CLI か、 AWS SDKs を使用して、 を使用するか、コードを記述してリクエストを行う必要があります。  
をインストールするには AWS CLI、「」を参照してください[AWS Command Line Interface](https://aws.amazon.com/cli/)。での Amazon Glacier の使用の詳細については AWS CLI、[AWS CLI Amazon Glacier のリファレンス](https://docs.aws.amazon.com/cli/latest/reference/glacier/index.html)」を参照してください。を使用して Amazon Glacier にアーカイブ AWS CLI をアップロードする例については、「 [での Amazon Glacier AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-using-glacier.html)の使用」を参照してください。

一般に、Amazon Glacier からのデータの取得は、2 段階のプロセスです。

1. 取得ジョブを開始します。

1. ジョブが完了したら、データのバイトをダウンロードします。

Amazon Glacier からアーカイブを取得するには、まずジョブを開始します。ジョブが完了したら、データをダウンロードします。アーカイブの取得に関する詳細については、「[Amazon Glacier アーカイブの取得](downloading-an-archive-two-steps.md)」を参照してください。

リクエストのアクセス時間は、迅速、標準、大容量のどの取り出しオプションを選択したかによって決まります。最大規模のアーカイブ (250 MB 以上) を除くすべてのアーカイブについては、迅速取り出しでアクセスしたアーカイブは通常 1〜5 分以内で使用可能になります。標準取り出しを使用して取り出したアーカイブは、通常 3〜5 時間で使用可能になりす。通常、大容量取り出しは 5〜12 時間で使用可能になります。さまざまな取り出しオプションの詳細については、「[Amazon Glacier のよくある質問](https://aws.amazon.com/glacier/faqs/#Data-retrievals)」を参照してください。データ取り出し料金については、「[Amazon Glacier の料金](https://aws.amazon.com/s3/glacier/pricing/)」ページを参照してください。

以下のトピックで示すコード例では、ジョブを開始し、その完了まで待機したうえで、アーカイブのデータをダウンロードしています。

**Topics**
+ [を使用して Amazon Glacier のボールトからアーカイブをダウンロードする AWS SDK for Java](getting-started-download-archive-java.md)
+ [を使用して Amazon Glacier のボールトからアーカイブをダウンロードする AWS SDK for .NET](getting-started-download-archive-dotnet.md)

# を使用して Amazon Glacier のボールトからアーカイブをダウンロードする AWS SDK for Java
<a name="getting-started-download-archive-java"></a>

次の Java コード例では、 の高レベル API を使用して AWS SDK for Java 、前のステップでアップロードしたアーカイブをダウンロードします。このコード例では、以下の点に注意してください。
+ この例では、`AmazonGlacierClient` クラスのインスタンスを作成します。
+ このコードでは、「[ステップ 2: Amazon Glacier でボールトを作成する](getting-started-create-vault.md)」でボールトを作成した場所に合わせて、`us-west-2` リージョン 米国西部(オレゴン) を使用します。
+ この例では、 AWS SDK for Javaの高レベル API の `ArchiveTransferManager` クラスの `download` API オペレーションを使用します。この例は、Amazon Simple Notification Service (Amazon SNS) トピックと、そのトピックにサブスクライブされている Amazon Simple Queue Service (Amazon SQS) キューを作成します。の指示に従って AWS Identity and Access Management (IAM) 管理者ユーザーを作成した場合[ステップ 1: Amazon Glacier を使用する前に](getting-started-before-you-begin.md)、ユーザーには Amazon SNS トピックと Amazon SQS キューの作成と使用に必要な IAM アクセス許可があります。

この例を実行するための詳しい手順については、「[Eclipse を使用した Amazon Glacier の Java 実行例](using-aws-sdk-for-java.md#setting-up-and-testing-sdk-java)」を参照してください。ここに示したコードは、「[ステップ 3: Amazon Glacier でボールトにアーカイブをアップロードする](getting-started-upload-archive.md)」でアップロードしたファイルのアーカイブ ID で更新する必要があります。

**Example — を使用したアーカイブのダウンロード AWS SDK for Java**  <a name="GS_ExampleDownloadArchiveJava"></a>

```
import java.io.File;
import java.io.IOException;

import com.amazonaws.auth.profile.ProfileCredentialsProvider;
import com.amazonaws.services.glacier.AmazonGlacierClient;
import com.amazonaws.services.glacier.transfer.ArchiveTransferManager;
import com.amazonaws.services.sns.AmazonSNSClient;
import com.amazonaws.services.sqs.AmazonSQSClient;

public class AmazonGlacierDownloadArchive_GettingStarted {
    public static String vaultName = "examplevault";
    public static String archiveId = "*** provide archive ID ***";
    public static String downloadFilePath  = "*** provide location to download archive ***";
    
    public static AmazonGlacierClient glacierClient;
    public static AmazonSQSClient sqsClient;
    public static AmazonSNSClient snsClient;
    
    public static void main(String[] args) throws IOException {
        
        
    	ProfileCredentialsProvider credentials = new ProfileCredentialsProvider();
    	
        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");

        try {
            ArchiveTransferManager atm = new ArchiveTransferManager(glacierClient, sqsClient, snsClient);
            
            atm.download(vaultName, archiveId, new File(downloadFilePath));
            
        } catch (Exception e)
        {
            System.err.println(e);
        }
    }
}
```

# を使用して Amazon Glacier のボールトからアーカイブをダウンロードする AWS SDK for .NET
<a name="getting-started-download-archive-dotnet"></a>

次の C\$1 コード例では、 の高レベル API を使用して AWS SDK for .NET 、 で以前にアップロードしたアーカイブをダウンロードします[を使用して Amazon Glacier のボールトにアーカイブをアップロードする AWS SDK for .NET](getting-started-upload-archive-dotnet.md)。このコード例では、以下の点に注意してください。

 
+ この例では、指定された Amazon Glacier リージョンのエンドポイントに対して、`ArchiveTransferManager` クラスのインスタンスを作成します。
+ このコード例では、以前に「[ステップ 2: Amazon Glacier でボールトを作成する](getting-started-create-vault.md)」でボールトを作成した場所に合わせて、 リージョン 米国西部(オレゴン) (`us-west-2`) を使用します。
+ この例では、`ArchiveTransferManager` クラスの `Download` API オペレーションを使用してアーカイブをダウンロードしています。この例は、Amazon Simple Notification Service (Amazon SNS) トピックと、そのトピックにサブスクライブされている Amazon Simple Queue Service (Amazon SQS) キューを作成します。の指示に従って AWS Identity and Access Management (IAM) 管理者ユーザーを作成した場合[ステップ 1: Amazon Glacier を使用する前に](getting-started-before-you-begin.md)、ユーザーには Amazon SNS トピックと Amazon SQS キューの作成と使用に必要な IAM アクセス許可があります。
+ その後、この例ではアーカイブの取り出しジョブを開始し、使用可能にするアーカイブを探してキューをポーリングします。アーカイブが使用可能になると、ダウンロードが開始されます。取得時間に関する詳細については、「[アーカイブの取り出しオプション](downloading-an-archive-two-steps.md#api-downloading-an-archive-two-steps-retrieval-options)」を参照してください。

この例を実行するための詳しい手順については、「[コード例の実行](using-aws-sdk-for-dot-net.md#setting-up-and-testing-sdk-dotnet)」を参照してください。ここに示したコードは、「[ステップ 3: Amazon Glacier でボールトにアーカイブをアップロードする](getting-started-upload-archive.md)」でアップロードしたファイルのアーカイブ ID で更新する必要があります。

**Example — の高レベル API を使用してアーカイブをダウンロードする AWS SDK for .NET**  <a name="GS_ExampleDownloadArchiveDotNet"></a>

```
using System;
using Amazon.Glacier;
using Amazon.Glacier.Transfer;
using Amazon.Runtime;

namespace glacier.amazon.com.rproxy.govskope.us.docsamples
{
    class ArchiveDownloadHighLevel_GettingStarted
    {
        static string vaultName = "examplevault";
        static string archiveId = "*** Provide archive ID ***";
        static string downloadFilePath = "*** Provide the file name and path to where to store the download ***";

        public static void Main(string[] args)
        {
            try
            {
                var manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USWest2);

                var options = new DownloadOptions();
                options.StreamTransferProgress += ArchiveDownloadHighLevel_GettingStarted.progress;
                // Download an archive.
                Console.WriteLine("Intiating the archive retrieval job and then polling SQS queue for the archive to be available.");
                Console.WriteLine("Once the archive is available, downloading will begin.");
                manager.Download(vaultName, archiveId, downloadFilePath, options);
                Console.WriteLine("To continue, press Enter");
                Console.ReadKey();
            }
            catch (AmazonGlacierException e) { Console.WriteLine(e.Message); }
            catch (AmazonServiceException e) { Console.WriteLine(e.Message); }
            catch (Exception e) { Console.WriteLine(e.Message); }
            Console.WriteLine("To continue, press Enter");
            Console.ReadKey();
        }

        static int currentPercentage = -1;
        static void progress(object sender, StreamTransferProgressArgs args)
        {
            if (args.PercentDone != currentPercentage)
            {
                currentPercentage = args.PercentDone;
                Console.WriteLine("Downloaded {0}%", args.PercentDone);
            }
        }
    }
}
```