Mengunduh Arsip dari Vault di S3 Glacier dengan MenggunakanAWS SDK for .NET - Amazon S3 Glacier

Halaman ini hanya untuk pelanggan lama dari layanan S3 Glacier menggunakan Vaults dan asli dari 2012. REST API

Jika Anda mencari solusi penyimpanan arsip, kami sarankan untuk menggunakan kelas penyimpanan S3 Glacier di Amazon S3, Pengambilan Instan Gletser S3, Pengambilan Fleksibel Gletser S3, dan S3 Glacier Deep Archive. Untuk mempelajari lebih lanjut tentang opsi penyimpanan ini, lihat Kelas penyimpanan S3 Glacier dan Penyimpanan data jangka panjang menggunakan kelas penyimpanan S3 Glacier di Panduan Pengguna Amazon S3. Kelas penyimpanan ini menggunakan Amazon S3API, tersedia di semua wilayah, dan dapat dikelola dalam konsol Amazon S3. Mereka menawarkan fitur seperti Analisis Biaya Penyimpanan, Lensa Penyimpanan, fitur enkripsi opsional canggih, dan banyak lagi.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengunduh Arsip dari Vault di S3 Glacier dengan MenggunakanAWS SDK for .NET

Contoh kode C# berikut menggunakan API tingkat tinggi dariAWS SDK for .NETuntuk mengunduh arsip yang Anda unggah sebelumnyaUnggah Arsip ke Vault di S3 Glacier dengan MenggunakanAWS SDK for .NET. Dalam contoh kode, perhatikan hal berikut:

  • Contoh membuat instans dariArchiveTransferManagerclass untuk titik akhir Amazon S3 Glacier Region yang ditentukan.

  • Contoh kode ini menggunakan Wilayah US West (Oregon) (us-west-2) untuk mencocokkan lokasi tempat Anda membuat vault sebelumnya di Langkah 2: Buat Vault di S3 Glacier.

  • Contoh menggunakanDownloadOperasi API dariArchiveTransferManagerkelas untuk men-download arsip Anda. Contoh membuat topik Amazon Simple Notification Service (Amazon SNS) dan antrean Amazon Simple Queue Service (Amazon SQS) yang berlangganan topik tersebut. Jika Anda membuatAWS Identity and Access ManagementPengguna admin (IAM) seperti yang diinstruksikan diLangkah 1: Sebelum Anda Mulai dengan S3 Glacier, pengguna Anda memiliki izin IAM yang diperlukan untuk pembuatan dan penggunaan topik Amazon SNS dan antrean Amazon SQS.

  • Contoh tersebut selanjutnya memulai tugas pengambilan arsip dan melakukan polling antrean untuk arsip yang akan tersedia. Ketika arsip tersedia, unduhan dimulai. Untuk informasi tentang waktu pengambilan, lihat Opsi Pengambilan Arsip.

Untuk step-by-step petunjuk tentang cara menjalankan contoh ini, lihatMenjalankan Contoh Kode. Anda harus memperbarui kode seperti yang ditunjukkan dengan ID arsip dari file yang Anda unggah diLangkah 3: Unggah Arsip ke Vault di S3 Glacier.

contoh — Mengunduh Arsip dengan Menggunakan API Tingkat Tinggi dariAWS SDK for .NET
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); } } } }