Mengonfigurasi Notifikasi Vault di Amazon S3 Glacier Menggunakan AWS SDK untuk Java - 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 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.

Mengonfigurasi Notifikasi Vault di Amazon S3 Glacier Menggunakan AWS SDK untuk Java

Berikut adalah langkah-langkah untuk mengonfigurasi notifikasi di vault menggunakan API tingkat rendah dari AWS SDK untuk Java.

  1. Buat instans dari kelas AmazonGlacierClient (klien).

    Anda perlu menentukan AWS Wilayah tempat brankas berada. Semua operasi yang Anda lakukan menggunakan klien ini berlaku untuk AWS Wilayah tersebut.

  2. Berikan informasi konfigurasi notifikasi dengan membuat instans dari kelas SetVaultNotificationsRequest.

    Anda harus memberikan nama vault, informasi konfigurasi notifikasi, dan ID akun. Dalam menentukan konfigurasi notifikasi, Anda memberikan Amazon Resource Name (ARN) dari topik Amazon SNS yang ada dan satu atau beberapa peristiwa yang ingin Anda beri tahu. Untuk daftar peristiwa yang didukung, lihat Menetapkan Konfigurasi Notifikasi Vault (PUT notification-configuration)).

  3. Jalankan metode setVaultNotifications dengan menyediakan objek permintaan sebagai parameter.

Potongan kode Java berikut menggambarkan langkah-langkah sebelumnya. Potongan menetapkan konfigurasi notifikasi di vault. Konfigurasi meminta Amazon S3 Glacier (S3 Glacier) untuk mengirim notifikasi ke topik Amazon SNS tertentu ketika peristiwa ArchiveRetrievalCompleted atau peristiwa InventoryRetrievalCompleted terjadi.

SetVaultNotificationsRequest request = new SetVaultNotificationsRequest() .withAccountId("-") .withVaultName("*** provide vault name ***") .withVaultNotificationConfig( new VaultNotificationConfig() .withSNSTopic("*** provide SNS topic ARN ***") .withEvents("ArchiveRetrievalCompleted", "InventoryRetrievalCompleted") ); client.setVaultNotifications(request);

catatan

Untuk informasi selengkapnya tentang REST API yang mendasari, lihat Operasi Vault.

Contoh: Menyetel Konfigurasi Pemberitahuan di Vault Menggunakan AWS SDK untuk Java

Contoh kode Java berikut menetapkan konfigurasi notifikasi vault, menghapus konfigurasi, lalu mengembalikan konfigurasi. Untuk step-by-step petunjuk tentang cara menjalankan contoh berikut, lihatMenggunakan AWS SDK untuk Java dengan Amazon S3 Glacier.

import java.io.IOException; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.services.glacier.AmazonGlacierClient; import com.amazonaws.services.glacier.model.DeleteVaultNotificationsRequest; import com.amazonaws.services.glacier.model.GetVaultNotificationsRequest; import com.amazonaws.services.glacier.model.GetVaultNotificationsResult; import com.amazonaws.services.glacier.model.SetVaultNotificationsRequest; import com.amazonaws.services.glacier.model.VaultNotificationConfig; public class AmazonGlacierVaultNotifications { public static AmazonGlacierClient client; public static String vaultName = "*** provide vault name ****"; public static String snsTopicARN = "*** provide sns topic ARN ***"; public static void main(String[] args) throws IOException { ProfileCredentialsProvider credentials = new ProfileCredentialsProvider(); client = new AmazonGlacierClient(credentials); client.setEndpoint("https://glacier.us-east-1.amazonaws.com/"); try { System.out.println("Adding notification configuration to the vault."); setVaultNotifications(); getVaultNotifications(); deleteVaultNotifications(); } catch (Exception e) { System.err.println("Vault operations failed." + e.getMessage()); } } private static void setVaultNotifications() { VaultNotificationConfig config = new VaultNotificationConfig() .withSNSTopic(snsTopicARN) .withEvents("ArchiveRetrievalCompleted", "InventoryRetrievalCompleted"); SetVaultNotificationsRequest request = new SetVaultNotificationsRequest() .withVaultName(vaultName) .withVaultNotificationConfig(config); client.setVaultNotifications(request); System.out.println("Notification configured for vault: " + vaultName); } private static void getVaultNotifications() { VaultNotificationConfig notificationConfig = null; GetVaultNotificationsRequest request = new GetVaultNotificationsRequest() .withVaultName(vaultName); GetVaultNotificationsResult result = client.getVaultNotifications(request); notificationConfig = result.getVaultNotificationConfig(); System.out.println("Notifications configuration for vault: " + vaultName); System.out.println("Topic: " + notificationConfig.getSNSTopic()); System.out.println("Events: " + notificationConfig.getEvents()); } private static void deleteVaultNotifications() { DeleteVaultNotificationsRequest request = new DeleteVaultNotificationsRequest() .withVaultName(vaultName); client.deleteVaultNotifications(request); System.out.println("Notifications configuration deleted for vault: " + vaultName); } }