S3 Glacier で AWS SDK for .NET を使用してボールトからアーカイブをダウンロードする - Amazon S3 Glacier

このページは、Vaults と 2012 RESTAPI年のオリジナルを使用する S3 Glacier サービスの既存のお客様専用です。

アーカイブストレージソリューションをお探しの場合は、Amazon S3、S3 Glacier Instant Retrieval、S3 Glacier Flexible Retrieval、S3 GlacierS3 Deep Archive の S3 Glacier ストレージクラスを使用することをお勧めします。これらのストレージオプションの詳細については、Amazon S3 ユーザーガイドの「S3 Glacier ストレージクラス」およびS3 Glacier ストレージクラスを使用した長期データストレージ」を参照してください。 Amazon S3 これらのストレージクラスは Amazon S3 を使用しAPI、すべてのリージョンで利用可能で、Amazon S3 コンソール内で管理できます。Storage Cost Analysis、Storage Lens、高度なオプションの暗号化機能などの機能を提供します。

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

S3 Glacier で AWS SDK for .NET を使用してボールトからアーカイブをダウンロードする

次の C# コード例では、「S3 Glacier で AWS SDK for .NET を使用してボールトにアーカイブをアップロードする」で以前にアップロードしたアーカイブを AWS SDK for .NET の高レベル API を使用してダウンロードします。このコード例では、以下の点に注意してください。

  • この例では、指定された Amazon S3 Glacier リージョンのエンドポイントに対して、ArchiveTransferManager クラスのインスタンスを作成します。

  • このコード例では、以前に「us-west-2」でボールトを作成した場所に合わせて、 リージョン 米国西部(オレゴン) を使用します。

  • この例では、ArchiveTransferManager クラスの Download API オペレーションを使用してアーカイブをダウンロードしています。この例は、Amazon Simple Notification Service (Amazon SNS) トピックと、そのトピックにサブスクライブされている Amazon Simple Queue Service (Amazon SQS) キューを作成します。「ステップ 1: S3 Glacier の使用を開始する前に」の説明に従って AWS Identity and Access Management (IAM) 管理ユーザーを作成した場合、ユーザーには Amazon SNS トピックと Amazon SQS キューの作成と使用に必要な IAM アクセス許可があります。

  • その後、この例ではアーカイブの取り出しジョブを開始し、使用可能にするアーカイブを探してキューをポーリングします。アーカイブが使用可能になると、ダウンロードが開始されます。取得時間に関する詳細については、「アーカイブの取り出しオプション」を参照してください。

この例を実行するための詳しい手順については、「コード例の実行」を参照してください。ここに示したコードは、「ステップ 3: S3 Glacier でボールトにアーカイブをアップロードする」でアップロードしたファイルのアーカイブ ID で更新する必要があります。

例 - AWS SDK for .NET の高レベル API を使用したアーカイブのダウンロード
using System; using Amazon.Glacier; using Amazon.Glacier.Transfer; using Amazon.Runtime; namespace glacier.amazon.com.rproxy.goskope.com.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); } } } }