Mengunggah Arsip Besar dengan Menggunakan AWS CLI - Amazon Glacier

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

Jika Anda mencari solusi penyimpanan arsip, sebaiknya gunakan kelas penyimpanan Amazon Glacier di Amazon S3, S3 Glacier Instant Retrieval, S3 Glacier Flexible Retrieval, dan S3 Glacier Deep Archive. Untuk mempelajari lebih lanjut tentang opsi penyimpanan ini, lihat kelas penyimpanan Amazon Glacier.

Amazon Glacier (layanan berbasis brankas mandiri asli) tidak akan lagi menerima pelanggan baru mulai 15 Desember 2025, tanpa berdampak pada pelanggan yang sudah ada. Amazon Glacier adalah layanan mandiri dengan miliknya APIs sendiri yang menyimpan data di brankas dan berbeda dari Amazon S3 dan kelas penyimpanan Amazon S3 Glacier. Data Anda yang ada akan tetap aman dan dapat diakses di Amazon Glacier tanpa batas waktu. Tidak diperlukan migrasi. Untuk penyimpanan arsip jangka panjang berbiaya rendah, AWS rekomendasikan kelas penyimpanan Amazon S3 Glacier, yang memberikan pengalaman pelanggan yang unggul dengan APIs berbasis ember S3, ketersediaan penuh, biaya lebih rendah, Wilayah AWS dan integrasi layanan. AWS Jika Anda ingin meningkatkan kemampuan, pertimbangkan untuk bermigrasi ke kelas penyimpanan Amazon S3 Glacier dengan menggunakan Panduan Solusi AWS kami untuk mentransfer data dari kubah Amazon Glacier ke kelas penyimpanan Amazon S3 Glacier.

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

Mengunggah Arsip Besar dengan Menggunakan AWS CLI

Anda dapat mengunggah arsip di Amazon Glacier (Amazon Glacier) dengan menggunakan (). AWS Command Line Interface AWS CLI Untuk meningkatkan pengalaman mengunggah arsip yang lebih besar, Amazon Glacier menyediakan beberapa operasi API untuk mendukung unggahan multipart. Dengan menggunakan operasi API ini, Anda dapat mengunggah arsip di beberapa bagian. Bagian-bagian ini dapat diunggah secara independen, dalam urutan apa pun, dan secara paralel. Jika unggahan bagian gagal, Anda hanya perlu mengunggah bagian itu lagi, bukan seluruh arsip. Anda dapat menggunakan unggahan multipart untuk arsip dari 1 byte hingga sekitar 40.000 gibibytes (GiB) dalam ukuran.

Untuk informasi selengkapnya tentang unggahan multipart Amazon Glacier, lihat. Mengunggah Arsip Besar dalam Beberapa Bagian (Unggahan Multipart)

(Prasyarat) Menyiapkan AWS CLI

  1. Unduh dan konfigurasikan AWS CLI. Untuk melakukannya, lihat topik berikut di Panduan Pengguna AWS Command Line Interface :

    Instalasi AWS Command Line Interface

    Mengkonfigurasi AWS Command Line Interface

  2. Verifikasi AWS CLI pengaturan Anda dengan memasukkan perintah berikut pada prompt perintah. Perintah ini tidak memberikan kredensial secara eksplisit, sehingga kredensial profil default digunakan.

    • Coba gunakan perintah bantuan.

      aws help
    • Untuk mendapatkan daftar brankas Amazon Glacier pada akun yang dikonfigurasi, gunakan perintah. list-vaults Ganti 123456789012 dengan Akun AWS ID Anda.

      aws glacier list-vaults --account-id 123456789012
    • Untuk melihat data konfigurasi saat ini untuk AWS CLI, gunakan aws configure list perintah.

      aws configure list

(Prasyarat) Instal Python

Untuk menyelesaikan unggahan multipart, Anda harus menghitung hash SHA256 pohon dari arsip yang Anda unggah. Melakukannya berbeda dengan menghitung hash SHA256 pohon dari file yang ingin Anda unggah. Untuk menghitung hash SHA256 pohon dari arsip yang Anda unggah, Anda dapat menggunakanJava, C# (dengan.NET), atau. Python Dalam contoh ini, Anda akan menggunakanPython. Untuk petunjuk tentang penggunaan Java atau C #, lihatChecksum Komputasi.

Untuk informasi selengkapnya tentang menginstalPython, lihat Menginstal atau memperbarui Python di Panduan Pengembang Boto3.

(Prasyarat) Buat Amazon Glacier Vault

Untuk menggunakan contoh berikut, Anda harus memiliki setidaknya satu lemari besi Amazon Glacier yang dibuat. Untuk informasi selengkapnya tentang membuat brankas, lihat. Membuat Vault di Amazon Glacier

Contoh: Mengunggah Arsip Besar di Bagian dengan Menggunakan AWS CLI

Dalam contoh ini, Anda akan membuat file dan menggunakan operasi API unggahan multibagian untuk mengunggah file ini, sebagian, ke Amazon Glacier.

penting

Sebelum memulai prosedur ini, pastikan Anda telah melakukan semua langkah prasyarat. Untuk mengunggah arsip, Anda harus memiliki vault yang dibuat, AWS CLI dikonfigurasi, dan siap untuk menggunakanJava, C #, atau Python untuk menghitung hash SHA256 pohon.

Prosedur berikut menggunakaninitiate-multipart-upload,upload-multipart-part, dan complete-multipart-upload AWS CLI perintah.

Untuk informasi lebih rinci tentang masing-masing perintah ini, lihat, initiate-multipart-uploadupload-multipart-part, dan complete-multipart-uploaddi AWS CLI Command Reference.

  1. Gunakan initiate-multipart-uploadperintah untuk membuat sumber daya unggahan multibagian. Dalam permintaan Anda, tentukan ukuran bagian dalam jumlah byte. Setiap bagian yang Anda unggah, kecuali bagian terakhir, akan berukuran ini. Anda tidak perlu mengetahui ukuran arsip keseluruhan saat memulai unggahan. Namun, Anda akan memerlukan ukuran total, dalam byte, dari setiap bagian saat menyelesaikan unggahan pada langkah terakhir.

    Dalam perintah berikut, ganti nilai untuk --account-ID parameter --vault-name dan dengan informasi Anda sendiri. Perintah ini menentukan bahwa Anda akan mengunggah arsip dengan ukuran bagian 1 mebibyte (MiB) (1024 x 1024 byte) per file. Ganti nilai --part-size parameter ini jika diperlukan.

    aws glacier initiate-multipart-upload --vault-name awsexamplevault --part-size 1048576 --account-id 123456789012

    Keluaran yang diharapkan

    { "location": "/123456789012/vaults/awsexamplevault/multipart-uploads/uploadId", "uploadId": "uploadId" }

    Setelah selesai, perintah akan menampilkan ID unggahan dan lokasi sumber daya unggahan multibagian di Amazon Glacier. Anda akan menggunakan ID unggahan ini pada langkah selanjutnya.

  2. Untuk contoh ini, Anda dapat menggunakan perintah berikut untuk membuat file 4.4 MiB, membaginya menjadi potongan 1 MiB, dan mengunggah setiap potongan. Untuk mengunggah file Anda sendiri, Anda dapat mengikuti prosedur serupa untuk membagi data Anda menjadi beberapa bagian dan mengunggah setiap bagian.

    Linux atau macOS

    Perintah berikut membuat file 4.4 MiB, bernamafile_to_upload, di Linux atau macOS.

    mkfile -n 9000b file_to_upload
    Windows

    Perintah berikut membuat file 4.4 MiB, bernamafile_to_upload, pada Windows.

    fsutil file createnew file_to_upload 4608000
  3. Selanjutnya, Anda akan membagi file ini menjadi potongan 1 MiB.

    split -b 1048576 file_to_upload chunk

    Anda sekarang memiliki lima potongan berikut. Empat yang pertama adalah 1 MiB, dan yang terakhir adalah sekitar 400 kibibytes (KiB).

    chunkaa chunkab chunkac chunkad chunkae
  4. Gunakan upload-multipart-partperintah untuk mengunggah bagian dari arsip. Anda dapat mengunggah bagian arsip dalam urutan apa pun. Anda juga dapat mengunggahnya secara paralel. Anda dapat mengunggah hingga 10.000 bagian untuk unggahan multipart.

    Dalam perintah berikut, ganti nilai untuk--vault-name,--account-ID, dan --upload-id parameter. ID upload harus cocok dengan ID yang diberikan sebagai output dari initiate-multipart-upload perintah. --rangeParameter menentukan bahwa Anda akan mengunggah bagian dengan ukuran 1 MiB (1024 x 1024 byte). Ukuran ini harus sesuai dengan apa yang Anda tentukan dalam initiate-multipart-upload perintah. Sesuaikan nilai ukuran ini jika diperlukan. --bodyParameter menentukan nama bagian yang Anda upload.

    aws glacier upload-multipart-part --body chunkaa --range='bytes 0-1048575/*' --vault-name awsexamplevault --account-id 123456789012 --upload-id upload_ID

    Jika berhasil, perintah akan menghasilkan output yang berisi checksum untuk bagian yang diunggah.

  5. Jalankan upload-multipart-part perintah lagi untuk mengunggah bagian yang tersisa dari unggahan multipart Anda. Perbarui nilai --range dan –-body parameter untuk setiap perintah agar sesuai dengan bagian yang Anda unggah.

    aws glacier upload-multipart-part --body chunkab --range='bytes 1048576-2097151/*' --vault-name awsexamplevault --account-id 123456789012 --upload-id upload_ID
    aws glacier upload-multipart-part --body chunkac --range='bytes 2097152-3145727/*' --vault-name awsexamplevault --account-id 123456789012 --upload-id upload_ID
    aws glacier upload-multipart-part --body chunkad --range='bytes 3145728-4194303/*' --vault-name awsexamplevault --account-id 123456789012 --upload-id upload_ID
    aws glacier upload-multipart-part --body chunkae --range='bytes 4194304-4607999/*' --vault-name awsexamplevault --account-id 123456789012 --upload-id upload_ID
    catatan

    Nilai --range parameter perintah akhir lebih kecil karena bagian akhir dari unggahan kami kurang dari 1 MiB. Jika berhasil, setiap perintah akan menghasilkan output yang berisi checksum untuk setiap bagian yang diunggah.

  6. Selanjutnya, Anda akan merakit arsip dan menyelesaikan unggahan. Anda harus menyertakan ukuran total dan hash SHA256 pohon arsip.

    Untuk menghitung hash SHA256 pohon arsip, Anda dapat menggunakanJava, C #, atau. Python Dalam contoh ini, Anda akan menggunakanPython. Untuk petunjuk tentang penggunaan Java atau C #, lihatChecksum Komputasi.

    Buat Python file checksum.py dan masukkan kode berikut. Jika perlu, ganti nama file asli.

    from botocore.utils import calculate_tree_hash checksum = calculate_tree_hash(open('file_to_upload', 'rb')) print(checksum)
  7. Jalankan checksum.py untuk menghitung hash SHA256 pohon. Hash berikut mungkin tidak cocok dengan output Anda.

    $ python3 checksum.py $ 3d760edb291bfc9d90d35809243de092aea4c47b308290ad12d084f69988ae0c
  8. Gunakan complete-multipart-uploadperintah untuk menyelesaikan unggahan arsip. Ganti nilai untuk--vault-name,--account-ID,--upload-ID, dan --checksum parameter. Nilai --archive parameter menentukan ukuran total, dalam byte, dari arsip. Nilai ini harus merupakan jumlah dari semua ukuran masing-masing bagian yang Anda unggah. Ganti nilai ini jika diperlukan.

    aws glacier complete-multipart-upload --archive-size 4608000 --vault-name awsexamplevault --account-id 123456789012 --upload-id upload_ID --checksum checksum

    Setelah selesai, perintah akan menampilkan ID arsip, checksum, dan lokasi di Amazon Glacier.