Menggunakan AWS SDK for Java dengan Amazon S3 Glacier - Amazon S3 Glacier

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

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 S3 API, tersedia di semua wilayah, dan dapat dikelola dalam konsol Amazon S3. Mereka menawarkan fitur seperti Analisis Biaya Penyimpanan, Lensa Penyimpanan, fitur keamanan termasuk beberapa opsi enkripsi, dan banyak lagi.

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

Menggunakan AWS SDK for Java dengan Amazon S3 Glacier

ParameterAWS SDK for Javamenyediakan API tingkat tinggi dan tingkat rendah untuk Amazon S3 Glacier (S3 Glacier) seperti yang dijelaskan dalamMenggunakan AWS SDK dengan Amazon S3 Glacier. Untuk informasi tentang mengunduh AWS SDK for Java, lihat Amazon SDK for Java.

catatan

AWS SDK for Java menyediakan klien thread aman untuk mengakses S3 Glacier. Sebagai praktik terbaik, aplikasi Anda harus membuat satu klien dan menggunakan kembali klien di antara thread.

Menggunakan API Tingkat Rendah

Kelas AmazonGlacierClient tingkat rendah menyediakan semua metode yang memetakan ke operasi REST yang mendasarinya dari S3 Glacier (Referensi API untuk Amazon S3 Glacier). Ketika memanggil salah satu metode ini, Anda harus membuat objek permintaan yang sesuai dan memberikan objek respons tempat metode ini dapat mengembalikan respons S3 Glacier ke operasi.

Misalnya, kelas AmazonGlacierClient menyediakan metode createVault untuk membuat vault. Metode ini memetakan ke operasi Buat REST Vault yang mendasarinya (lihat Membuat Vault (PUT vault)). Untuk menggunakan metode ini, Anda harus membuat instans objek CreateVaultResult yang menerima respons S3 Glacier seperti yang ditunjukkan dalam potongan kode Java berikut:

AmazonGlacierClient client = new AmazonGlacierClient(credentials); client.setEndpoint("https://glacier.us-west-2.amazonaws.com/"); CreateVaultRequest request = new CreateVaultRequest() .withAccountId("-") .withVaultName(vaultName); CreateVaultResult result = client.createVault(createVaultRequest);

Semua sampel tingkat rendah dalam panduan menggunakan pola ini.

catatan

Segmen kode sebelumnya menentukan AccountID ketika membuat permintaan. Namun, ketika menggunakan AWS SDK for Java, AccountId dalam permintaan bersifat opsional, dan karena itu semua contoh tingkat rendah dalam panduan ini tidak menetapkan nilai ini. AccountId adalah ID Akun AWS. Nilai ini harus sesuai dengan ID Akun AWS yang terkait dengan kredensial yang digunakan untuk menandatangani permintaan. Anda dapat menentukan ID Akun AWS atau '-' secara opsional, dalam hal ini, S3 Glacier menggunakan ID Akun AWS yang terkait dengan kredensial yang digunakan untuk menandatangani permintaan. Jika Anda menentukan ID Akun, jangan sertakan tanda hubung di dalamnya. Saat menggunakan AWS SDK for Java, jika Anda tidak memberikan ID akun, pustaka akan menetapkan ID akun ke '-'.

Menggunakan API Tingkat Tinggi

Untuk lebih menyederhanakan pengembangan aplikasi Anda, AWS SDK for Java menyediakan kelas ArchiveTransferManageryang mengimplementasikan abstraksi tingkat yang lebih tinggi untuk beberapa metode dalam API tingkat rendah. Ini menyediakan metode yang berguna, seperti metode upload dan download, untuk operasi arsip.

Sebagai contoh, potongan kode Java berikut menggunakan metode tingkat tinggi upload untuk mengunggah arsip.

String vaultName = "examplevault"; String archiveToUpload = "c:/folder/exampleArchive.zip"; ArchiveTransferManager atm = new ArchiveTransferManager(client, credentials); String archiveId = atm.upload(vaultName, "Tax 2012 documents", new File(archiveToUpload)).getArchiveId();

Perhatikan bahwa operasi apa pun yang Anda lakukan berlaku untuk Wilayah AWS yang Anda tentukan saat membuat objek ArchiveTransferManager. Jika Anda tidak menentukan Wilayah AWS, AWS SDK for Java mengatur us-east-1 sebagai Wilayah AWS default.

Semua contoh tingkat tinggi dalam panduan ini menggunakan pola ini.

catatan

Kelas ArchiveTransferManager tingkat tinggi dapat dibangun dengan instans AmazonGlacierClient atau instans AWSCredentials.

Menjalankan Contoh Java untuk Amazon S3 Glacier Menggunakan Eclipse

Cara termudah untuk memulai dengan contoh kode Java adalah dengan menginstal AWS Toolkit for Eclipse terbaru. Untuk informasi tentang menginstal atau memperbarui ke kit alat terbaru, buka http://aws.amazon.com/eclipse. Tugas-tugas berikut ini memandu Anda dalam pembuatan dan pengujian contoh kode Java yang disediakan dalam bagian ini.

1

Buat profil kredensial default untuk kredensial AWS Anda seperti yang dijelaskan dalam topik AWS SDK for Java Menyediakan Kredensial AWS di Amazon SDK for Java.

2

Buat Proyek Java AWS baru di Eclipse. Proyek ini sudah dikonfigurasi sebelumnya dengan AWS SDK for Java.

3

Salin kode dari bagian yang sedang Anda baca ke proyek Anda.

4

Perbarui kode dengan menyediakan data yang diperlukan. Misalnya, jika mengunggah file, berikan alur file dan nama bucket.

5

Jalankan kode. Verifikasi bahwa objek dibuat menggunakan AWS Management Console. Untuk informasi selengkapnya tentang AWS Management Console, buka http://aws.amazon.com/console/.

Mengatur Titik Akhir

Secara default, AWS SDK for Java menggunakan titik akhir https://glacier.us-east-1.amazonaws.com. Anda dapat mengatur titik akhir secara eksplisit seperti ditunjukkan dalam potongan kode Java berikut.

Potongan berikut menunjukkan cara mengatur titik akhir ke Wilayah US West (Oregon) (us-west-2) di API tingkat rendah.

client = new AmazonGlacierClient(credentials); client.setEndpoint("glacier.us-west-2.amazonaws.com");

Potongan berikut menunjukkan cara mengatur titik akhir ke Wilayah US West (Oregon) di API tingkat tinggi.

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"); ArchiveTransferManager atm = new ArchiveTransferManager(glacierClient, sqsClient, snsClient);

Untuk daftar Wilayah AWS yang didukung dan titik akhir, lihat Mengakses Amazon S3 Glacier.