

 **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](https://aws.amazon.com/s3/storage-classes/glacier/).

Amazon Glacier (layanan berbasis brankas mandiri asli) tidak lagi menerima pelanggan baru. 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](https://aws.amazon.com/s3/storage-classes/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](https://aws.amazon.com/solutions/guidance/data-transfer-from-amazon-s3-glacier-vaults-to-amazon-s3/).

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

# Mengonfigurasi Pemberitahuan Vault di Amazon Glacier Menggunakan AWS SDK untuk .NET
<a name="configuring-notifications-sdk-dotnet"></a>

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

 

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. 

1. Berikan informasi konfigurasi notifikasi dengan membuat instans dari kelas `SetVaultNotificationsRequest`.

   Anda harus memberikan nama vault, informasi konfigurasi notifikasi, dan ID akun. Jika Anda tidak memberikan ID akun, ID akun yang terkait dengan kredensial yang Anda berikan untuk menandatangani permintaan diambil. Untuk informasi selengkapnya, lihat [Menggunakan AWS SDK untuk .NET dengan Amazon Glacier](using-aws-sdk-for-dot-net.md). 

   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)](api-vault-notifications-put.md)).

1. Jalankan metode `SetVaultNotifications` dengan menyediakan objek permintaan sebagai parameter. 

1. Setelah mengatur konfigurasi notifikasi di vault, Anda dapat mengambil informasi konfigurasi dengan memanggil metode `GetVaultNotifications`, dan menghapusnya dengan memanggil metode `DeleteVaultNotifications` yang disediakan oleh klien. 

## Contoh: Menyetel Konfigurasi Pemberitahuan di Vault Menggunakan AWS SDK untuk .NET
<a name="creating-vaults-sdk-dotnet-example-notification"></a>

Contoh kode \#C berikut menjelaskan langkah sebelumnya. Contoh mengatur konfigurasi notifikasi di vault ("`examplevault`") di Wilayah US West (Oregon), mengambil konfigurasi, lalu menghapusnya. Konfigurasi meminta Amazon Glacier (Amazon Glacier) untuk mengirim pemberitahuan ke topik Amazon SNS yang ditentukan saat peristiwa atau peristiwa terjadi. `ArchiveRetrievalCompleted` `InventoryRetrievalCompleted`

**catatan**  
Untuk informasi tentang REST API yang mendasarinya, lihat [Operasi Vault](vault-operations.md).

Untuk step-by-step instruksi untuk menjalankan contoh berikut, lihat[Menjalankan Contoh Kode](using-aws-sdk-for-dot-net.md#setting-up-and-testing-sdk-dotnet). Anda perlu memperbarui kode seperti yang ditunjukkan serta memberikan nama vault yang ada dan topik Amazon SNS. 

**Example**  

```
using System;
using System.Collections.Generic;
using Amazon.Glacier;
using Amazon.Glacier.Model;
using Amazon.Runtime;

namespace glacier.amazon.com.rproxy.govskope.ca.docsamples
{
  class VaultNotificationSetGetDelete
  {
    static string vaultName   = "examplevault";
    static string snsTopicARN = "*** Provide Amazon SNS topic ARN ***";

    static IAmazonGlacier client;

    public static void Main(string[] args)
    {
      try
      {
        using (client = new AmazonGlacierClient(Amazon.RegionEndpoint.USWest2))
        {
          Console.WriteLine("Adding notification configuration to the vault.");
          SetVaultNotificationConfig();
          GetVaultNotificationConfig();
          Console.WriteLine("To delete vault notification configuration, press Enter");
          Console.ReadKey();
          DeleteVaultNotificationConfig();
        }
      }
      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 void SetVaultNotificationConfig()
    {

      SetVaultNotificationsRequest request = new SetVaultNotificationsRequest()
      {     
        VaultName = vaultName,
        VaultNotificationConfig = new VaultNotificationConfig()
        {
          Events   = new List<string>() { "ArchiveRetrievalCompleted", "InventoryRetrievalCompleted" },
          SNSTopic = snsTopicARN
        }
      };
      SetVaultNotificationsResponse response = client.SetVaultNotifications(request);
    }

    static void GetVaultNotificationConfig()
    {
      GetVaultNotificationsRequest request = new GetVaultNotificationsRequest()
      {
        VaultName = vaultName,
        AccountId = "-"
      };
      GetVaultNotificationsResponse response = client.GetVaultNotifications(request);
      Console.WriteLine("SNS Topic ARN: {0}", response.VaultNotificationConfig.SNSTopic);
      foreach (string s in response.VaultNotificationConfig.Events)
        Console.WriteLine("Event : {0}", s);
    }

    static void DeleteVaultNotificationConfig()
    {
      DeleteVaultNotificationsRequest request = new DeleteVaultNotificationsRequest()
      {  
        VaultName = vaultName
      };
      DeleteVaultNotificationsResponse response = client.DeleteVaultNotifications(request);
    }
  }
}
```