

 **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.

# Bekerja dengan Vaults di Amazon Glacier
<a name="working-with-vaults"></a>

Vault adalah kontainer untuk menyimpan arsip. Saat membuat vault, Anda menentukan nama vault dan Wilayah AWS tempat Anda ingin membuat vault. *Untuk daftar yang Wilayah AWS didukung oleh Amazon Glacier, lihat titik akhir dan kuota Amazon [Glacier di Referensi Umum](https://docs.aws.amazon.com/general/latest/gr/glacier-service.html).AWS * 

Anda dapat menyimpan arsip dalam jumlah yang tidak terbatas di vault. 

 

**penting**  
Amazon Glacier memang menyediakan konsol. Namun, setiap operasi arsip, seperti mengunggah, mengunduh, atau menghapus, mengharuskan Anda untuk menggunakan AWS Command Line Interface (AWS CLI) atau menulis kode. Tidak ada dukungan konsol untuk operasi arsip. Misalnya, untuk mengunggah data, seperti foto, video, dan dokumen lainnya, Anda harus menggunakan AWS CLI atau menulis kode untuk membuat permintaan, dengan menggunakan REST API secara langsung atau dengan menggunakan AWS SDKs.   
Untuk menginstal AWS CLI, lihat [AWS Command Line Interface](https://aws.amazon.com/cli/). Untuk informasi selengkapnya tentang penggunaan Amazon Glacier dengan, lihat AWS CLIAWS CLI Referensi untuk [Amazon](https://docs.aws.amazon.com/cli/latest/reference/glacier/index.html) Glacier. Untuk contoh penggunaan untuk mengunggah arsip AWS CLI ke Amazon Glacier, lihat Menggunakan Amazon Glacier [with](https://docs.aws.amazon.com/cli/latest/userguide/cli-using-glacier.html) the. AWS Command Line Interface

**Topics**
+ [Operasi Vault di Amazon Glacier](#vault-operations-quick-intro)
+ [Membuat Vault di Amazon Glacier](creating-vaults.md)
+ [Mengambil Metadata Vault di Amazon Glacier](retrieving-vault-info.md)
+ [Mengunduh Inventaris Vault di Amazon Glacier](vault-inventory.md)
+ [Mengkonfigurasi Pemberitahuan Vault di Amazon Glacier](configuring-notifications.md)
+ [Menghapus Vault di Amazon Glacier](deleting-vaults.md)
+ [Menandai Brankas Amazon Glacier Anda](tagging-vaults.md)
+ [Kunci Gletser Amazon Glacier](vault-lock.md)

## Operasi Vault di Amazon Glacier
<a name="vault-operations-quick-intro"></a>

Amazon Glacier mendukung berbagai operasi lemari besi. Operasi Vault khusus untuk khusus Wilayah AWS. Dengan kata lain, saat Anda membuat brankas, Anda membuatnya secara spesifik Wilayah AWS. Saat Anda mencantumkan vault, Amazon Glacier mengembalikan daftar vault dari yang Anda tentukan Wilayah AWS dalam permintaan.

### Membuat dan Menghapus Vault
<a name="vault-operations-create-delete-quick-intro"></a>

Sebuah Akun AWS dapat membuat hingga 1.000 brankas per. Wilayah AWS*Untuk daftar yang Wilayah AWS didukung oleh Amazon Glacier, lihat titik akhir dan kuota Amazon [Glacier di Referensi Umum](https://docs.aws.amazon.com/general/latest/gr/glacier-service.html).AWS *

Anda dapat menghapus brankas hanya jika tidak ada arsip di brankas pada inventaris terakhir yang dihitung Amazon Glacier dan jika belum ada penulisan ke brankas sejak inventaris terakhir. 

 

**catatan**  
Amazon Glacier menyiapkan inventaris untuk setiap lemari besi secara berkala, setiap 24 jam. Karena inventaris mungkin tidak mencerminkan informasi terbaru, Amazon Glacier memastikan bahwa lemari besi memang kosong dengan memeriksa apakah ada operasi penulisan sejak inventaris brankas terakhir. 

Untuk informasi selengkapnya, lihat [Membuat Vault di Amazon Glacier](creating-vaults.md) dan [Menghapus Vault di Amazon Glacier](deleting-vaults.md). 

### Mengambil Metadata Vault
<a name="vault-operations-retrieving-info-quick-intro"></a>

Anda dapat mengambil informasi vault seperti tanggal pembuatan vault, jumlah arsip di vault, dan ukuran total semua arsip di vault. Amazon Glacier menyediakan panggilan API bagi Anda untuk mengambil informasi ini untuk brankas tertentu atau semua brankas tertentu di akun Anda. Wilayah AWS Untuk informasi selengkapnya, lihat [Mengambil Metadata Vault di Amazon Glacier](retrieving-vault-info.md).

### Mengunduh Inventaris Vault
<a name="vault-operations-retrieving-inventory-quick-intro"></a>

*Inventaris vault* mengacu pada daftar arsip di brankas. Untuk setiap arsip dalam daftar, inventaris menyediakan informasi arsip, seperti ID arsip, tanggal pembuatan, dan ukuran. Amazon Glacier memperbarui inventaris brankas sekali sehari, dimulai pada hari arsip pertama diunggah ke lemari besi. Inventaris vault harus ada untuk Anda agar dapat mengunduhnya.

Mengunduh inventaris vault adalah operasi asinkron. Anda harus terlebih dahulu memulai tugas untuk mengunduh inventaris. Setelah menerima permintaan pekerjaan, Amazon Glacier menyiapkan inventaris Anda untuk diunduh. Setelah pekerjaan selesai, Anda dapat mengunduh data inventaris. 

Mengingat sifat asinkron pekerjaan, Anda dapat menggunakan notifikasi Amazon Simple Notification Service (Amazon SNS) untuk memberi tahu Anda saat pekerjaan selesai. Anda dapat menentukan topik Amazon SNS untuk setiap permintaan tugas individu atau mengonfigurasi vault Anda untuk mengirim notifikasi ketika peristiwa vault tertentu terjadi.

Amazon Glacier menyiapkan inventaris untuk setiap lemari besi secara berkala, setiap 24 jam. Jika tidak ada penambahan arsip atau penghapusan vault sejak inventaris terakhir, tanggal inventaris tidak diperbarui. 

Saat Anda memulai pekerjaan untuk inventaris vault, Amazon Glacier mengembalikan inventaris terakhir yang dihasilkannya, yang merupakan point-in-time snapshot dan bukan data real-time. Anda mungkin merasa mengambil inventaris vault untuk setiap unggahan arsip tidak berguna. Namun, misalkan Anda memelihara database di sisi klien yang berisi metadata yang terkait dengan arsip yang Anda unggah ke Amazon Glacier. Dalam hal ini, Anda mungkin menemukan inventaris vault berguna untuk merekonsiliasi informasi dalam database Anda dengan inventaris vault yang sebenarnya.

Untuk informasi selengkapnya tentang mengambil inventaris vault, lihat [Mengunduh Inventaris Vault di Amazon Glacier](vault-inventory.md).

### Mengonfigurasi Notifikasi Vault
<a name="vault-operations-configure-notifications-quick-intro"></a>

Mengambil apa pun dari Amazon Glacier, seperti arsip dari lemari besi atau inventaris lemari besi, adalah proses dua langkah. Pertama, Anda memulai pekerjaan. Setelah pekerjaan selesai, Anda mengunduh outputnya. Untuk mempelajari kapan pekerjaan Anda selesai, Anda dapat menggunakan notifikasi Amazon Glacier. Amazon Glacier mengirimkan pesan notifikasi ke topik Simple Notification Service Amazon (Amazon SNS) yang Anda berikan. 

Anda dapat mengonfigurasi notifikasi di vault dan mengidentifikasi peristiwa vault serta topik Amazon SNS yang diberi tahu ketika peristiwa terjadi. Kapan saja peristiwa vault terjadi, Amazon Glacier mengirimkan pemberitahuan ke topik Amazon SNS yang ditentukan. Lihat informasi yang lebih lengkap di [Mengkonfigurasi Pemberitahuan Vault di Amazon Glacier](configuring-notifications.md).

# Membuat Vault di Amazon Glacier
<a name="creating-vaults"></a>

Membuat vault menambahkan vault ke serangkaian vault di akun Anda. An Akun AWS dapat membuat hingga 1.000 brankas per AWS Wilayah. *Untuk daftar AWS Wilayah yang didukung oleh Amazon Glacier (Amazon Glacier), [lihat](https://docs.aws.amazon.com/general/latest/gr/rande.html#glacier_region) Wilayah dan Titik Akhir dalam Referensi Umum.AWS *

Ketika Anda membuat vault, Anda harus memberi nama vault. Berikut adalah persyaratan penamaan vault: 

 
+  Panjang nama dapat antara 1 dan 255 karakter. 
+ Karakter yang diperbolehkan adalah a–z, A–Z, 0–9, '\$1' (garis bawah), '-' (tanda hubung), dan '.' (titik).

Nama Vault harus unik dalam akun dan AWS Wilayah tempat vault dibuat. Artinya, akun dapat membuat brankas dengan nama yang sama di Wilayah yang berbeda tetapi tidak di AWS Wilayah yang sama AWS . 

**Topics**
+ [Membuat Vault di Amazon Glacier Menggunakan AWS SDK untuk Java](creating-vaults-sdk-java.md)
+ [Membuat Vault di Amazon Glacier Menggunakan AWS SDK untuk .NET](creating-vaults-dotnet-sdk.md)
+ [Membuat Vault di Amazon Glacier Menggunakan REST API](creating-vaults-rest-api.md)
+ [Membuat Vault Menggunakan Konsol Amazon Glacier](creating-vaults-console.md)
+ [Membuat Vault di Amazon Glacier Menggunakan AWS Command Line Interface](creating-vaults-cli.md)

# Membuat Vault di Amazon Glacier Menggunakan AWS SDK untuk Java
<a name="creating-vaults-sdk-java"></a>

API tingkat rendah menyediakan metode untuk semua operasi vault, termasuk membuat dan menghapus vault, mendapatkan deskripsi vault, dan mendapatkan daftar vault yang dibuat secara spesifik. Wilayah AWS Berikut adalah langkah-langkah untuk membuat vault menggunakan AWS SDK untuk Java. 

 

1. Buat instans dari kelas `AmazonGlacierClient` (klien). 

   Anda perlu menentukan Wilayah AWS di mana Anda ingin membuat lemari besi. Semua operasi yang Anda lakukan menggunakan klien ini berlaku untuk itu Wilayah AWS.

1. Berikan informasi permintaan dengan membuat instans kelas `CreateVaultRequest`.

   Amazon Glacier (Amazon Glacier) mengharuskan Anda untuk memberikan nama vault dan ID akun Anda. Jika Anda tidak memberikan ID akun, ID akun yang terkait dengan kredensial yang Anda berikan untuk menandatangani permintaan akan digunakan. Untuk informasi selengkapnya, lihat [Menggunakan AWS SDK untuk Java dengan Amazon Glacier](using-aws-sdk-for-java.md). 

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

   Respons pengembalian Amazon Glacier tersedia di objek. `CreateVaultResult`

Potongan kode Java berikut menggambarkan langkah-langkah sebelumnya. Potongan membuat vault di Wilayah `us-west-2`. `Location`Cetaknya adalah URI relatif dari vault yang menyertakan ID akun Anda, nama Wilayah AWS, dan vault.

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

CreateVaultRequest request = new CreateVaultRequest()
    .withVaultName("*** provide vault name ***");
CreateVaultResult result = client.createVault(request);

System.out.println("Created vault successfully: " + result.getLocation());
```

**catatan**  
Untuk informasi tentang REST API yang mendasarinya, lihat [Membuat Vault (PUT vault)](api-vault-put.md). 

## Contoh: Membuat Vault Menggunakan AWS SDK untuk Java
<a name="creating-vaults-sdk-java-example"></a>

Contoh kode Java berikut membuat vault di `us-west-2` Wilayah (untuk informasi selengkapnya Wilayah AWS, lihat[Mengakses Amazon Glacier](amazon-glacier-accessing.md)). Selain itu, contoh kode mengambil informasi vault, mencantumkan semua vault yang sama Wilayah AWS, dan kemudian menghapus vault yang dibuat. 

Untuk step-by-step petunjuk tentang cara menjalankan contoh berikut, lihat[Menjalankan Contoh Java untuk Amazon Glacier Menggunakan Eclipse](using-aws-sdk-for-java.md#setting-up-and-testing-sdk-java). 

**Example**  

```
import java.io.IOException;
import java.util.List;

import com.amazonaws.auth.profile.ProfileCredentialsProvider;
import com.amazonaws.services.glacier.AmazonGlacierClient;
import com.amazonaws.services.glacier.model.CreateVaultRequest;
import com.amazonaws.services.glacier.model.CreateVaultResult;
import com.amazonaws.services.glacier.model.DeleteVaultRequest;
import com.amazonaws.services.glacier.model.DescribeVaultOutput;
import com.amazonaws.services.glacier.model.DescribeVaultRequest;
import com.amazonaws.services.glacier.model.DescribeVaultResult;
import com.amazonaws.services.glacier.model.ListVaultsRequest;
import com.amazonaws.services.glacier.model.ListVaultsResult;


public class AmazonGlacierVaultOperations {

    public static AmazonGlacierClient client;

    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/");
        
        String vaultName = "examplevaultfordelete";

        try {            
            createVault(client, vaultName);
            describeVault(client, vaultName); 
            listVaults(client);
            deleteVault(client, vaultName);      

        } catch (Exception e) {
            System.err.println("Vault operation failed." + e.getMessage());
        }
    }

    private static void createVault(AmazonGlacierClient client, String vaultName) {
        CreateVaultRequest createVaultRequest = new CreateVaultRequest()
            .withVaultName(vaultName);
        CreateVaultResult createVaultResult = client.createVault(createVaultRequest);

        System.out.println("Created vault successfully: " + createVaultResult.getLocation());
    }

    private static void describeVault(AmazonGlacierClient client, String vaultName) {
        DescribeVaultRequest describeVaultRequest = new DescribeVaultRequest()
            .withVaultName(vaultName);
        DescribeVaultResult describeVaultResult  = client.describeVault(describeVaultRequest);

        System.out.println("Describing the vault: " + vaultName);
        System.out.print(
                "CreationDate: " + describeVaultResult.getCreationDate() +
                "\nLastInventoryDate: " + describeVaultResult.getLastInventoryDate() +
                "\nNumberOfArchives: " + describeVaultResult.getNumberOfArchives() + 
                "\nSizeInBytes: " + describeVaultResult.getSizeInBytes() + 
                "\nVaultARN: " + describeVaultResult.getVaultARN() + 
                "\nVaultName: " + describeVaultResult.getVaultName());
    }

    private static void listVaults(AmazonGlacierClient client) {
        ListVaultsRequest listVaultsRequest = new ListVaultsRequest();
        ListVaultsResult listVaultsResult = client.listVaults(listVaultsRequest);

        List<DescribeVaultOutput> vaultList = listVaultsResult.getVaultList();
        System.out.println("\nDescribing all vaults (vault list):");
        for (DescribeVaultOutput vault : vaultList) {
            System.out.println(
                    "\nCreationDate: " + vault.getCreationDate() +
                    "\nLastInventoryDate: " + vault.getLastInventoryDate() +
                    "\nNumberOfArchives: " + vault.getNumberOfArchives() + 
                    "\nSizeInBytes: " + vault.getSizeInBytes() + 
                    "\nVaultARN: " + vault.getVaultARN() + 
                    "\nVaultName: " + vault.getVaultName()); 
        }
    }

    private static void deleteVault(AmazonGlacierClient client, String vaultName) {
        DeleteVaultRequest request = new DeleteVaultRequest()
            .withVaultName(vaultName);
        client.deleteVault(request);
        System.out.println("Deleted vault: " + vaultName);
    }

}
```

# Membuat Vault di Amazon Glacier Menggunakan AWS SDK untuk .NET
<a name="creating-vaults-dotnet-sdk"></a>

Baik [level tinggi maupun level rendah](using-aws-sdk.md) yang APIs disediakan oleh Amazon SDK for .NET menyediakan metode untuk membuat vault.

**Topics**
+ [Membuat Vault Menggunakan API Tingkat Tinggi AWS SDK untuk .NET](#create-vault-dotnet-highlevel)
+ [Membuat Vault Menggunakan API Tingkat Rendah AWS SDK untuk .NET](#create-vault-dotnet-lowlevel)

## Membuat Vault Menggunakan API Tingkat Tinggi AWS SDK untuk .NET
<a name="create-vault-dotnet-highlevel"></a>

Kelas `ArchiveTransferManager` dari API tingkat tinggi menyediakan metode `CreateVault` yang dapat Anda gunakan untuk membuat vault di Wilayah AWS .

### Contoh: Operasi Vault Menggunakan API Tingkat Tinggi AWS SDK untuk .NET
<a name="vault-operations-example-dotnet-highlevel"></a>

Contoh kode C\$1 berikut membuat dan menghapus vault di Wilayah US West (Oregon). Untuk daftar Wilayah AWS di mana Anda dapat membuat brankas, lihat. [Mengakses Amazon Glacier](amazon-glacier-accessing.md) 

Untuk step-by-step petunjuk tentang cara 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 dengan nama vault. 

**Example**  

```
using System;
using Amazon.Glacier;
using Amazon.Glacier.Transfer;
using Amazon.Runtime;

namespace glacier.amazon.com.rproxy.govskope.us.docsamples
{
  class VaultCreateDescribeListVaultsDeleteHighLevel
  {
    static string vaultName = "*** Provide vault name ***";

    public static void Main(string[] args)
    {
      try
      {
          var manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USWest2);
          manager.CreateVault(vaultName);
          Console.WriteLine("Vault created. To delete the vault, press Enter");
          Console.ReadKey();
          manager.DeleteVault(vaultName);
          Console.WriteLine("\nVault deleted. 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();
    }
  }
}
```

## Membuat Vault Menggunakan API Tingkat Rendah AWS SDK untuk .NET
<a name="create-vault-dotnet-lowlevel"></a>

API tingkat rendah menyediakan metode untuk semua operasi vault, termasuk membuat dan menghapus vault, mendapatkan deskripsi vault, dan mendapatkan daftar vault yang dibuat secara spesifik. Wilayah AWS Berikut adalah langkah-langkah untuk membuat vault menggunakan AWS SDK untuk .NET. 

 

1. Buat instans dari kelas `AmazonGlacierClient` (klien). 

   Anda perlu menentukan Wilayah AWS di mana Anda ingin membuat lemari besi. Semua operasi yang Anda lakukan menggunakan klien ini berlaku untuk itu Wilayah AWS.

1. Berikan informasi permintaan dengan membuat instans kelas `CreateVaultRequest`.

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

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

   Respons pengembalian Amazon Glacier tersedia di objek. `CreateVaultResponse`

### Contoh: Operasi Vault Menggunakan API Tingkat Rendah AWS SDK untuk .NET
<a name="vault-operations-example-dotnet-lowlevel"></a>

Contoh kode C\$1 berikut menjelaskan langkah sebelumnya. Contoh ini membuat vault di Wilayah US West (Oregon). Selain itu, contoh kode mengambil informasi vault, mencantumkan semua vault yang sama Wilayah AWS, dan kemudian menghapus vault yang dibuat. Yang `Location` dicetak adalah URI relatif dari vault yang menyertakan ID akun Anda, nama Wilayah AWS, dan vault.

**catatan**  
Untuk informasi tentang REST API yang mendasarinya, lihat [Membuat Vault (PUT vault)](api-vault-put.md). 

Untuk step-by-step petunjuk tentang cara 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 dengan nama vault. 

**Example**  

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

namespace glacier.amazon.com.rproxy.govskope.us.docsamples
{
  class VaultCreateDescribeListVaultsDelete
  {
    static string vaultName = "*** Provide vault name ***";
    static AmazonGlacierClient client;

    public static void Main(string[] args)
    {
       try
      {
         using (client = new AmazonGlacierClient(Amazon.RegionEndpoint.USWest2))
        {
          Console.WriteLine("Creating a vault.");
          CreateAVault();
          DescribeVault();
          GetVaultsList();
          Console.WriteLine("\nVault created. Now press Enter to delete the vault...");
          Console.ReadKey();
          DeleteVault();
        }
      }
      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 CreateAVault()
    {
      CreateVaultRequest request = new CreateVaultRequest()
      {
        VaultName = vaultName
      };
      CreateVaultResponse response = client.CreateVault(request);
      Console.WriteLine("Vault created: {0}\n", response.Location); 
    }

    static void DescribeVault()
    {
      DescribeVaultRequest describeVaultRequest = new DescribeVaultRequest()
      {
        VaultName = vaultName
      };
   
      DescribeVaultResponse describeVaultResponse = client.DescribeVault(describeVaultRequest);
      Console.WriteLine("\nVault description...");
      Console.WriteLine(
        "\nVaultName: " + describeVaultResponse.VaultName +
        "\nVaultARN: " + describeVaultResponse.VaultARN +
        "\nVaultCreationDate: " + describeVaultResponse.CreationDate +
        "\nNumberOfArchives: " + describeVaultResponse.NumberOfArchives +
        "\nSizeInBytes: " + describeVaultResponse.SizeInBytes +
        "\nLastInventoryDate: " + describeVaultResponse.LastInventoryDate 
        );
    }

    static void GetVaultsList()
    {
      string lastMarker = null;
      Console.WriteLine("\n List of vaults in your account in the specific region ...");
      do
      {
        ListVaultsRequest request = new ListVaultsRequest()
        {
          Marker = lastMarker
        };
        ListVaultsResponse response = client.ListVaults(request);
         
        foreach (DescribeVaultOutput output in response.VaultList)
        {
          Console.WriteLine("Vault Name: {0} \tCreation Date: {1} \t #of archives: {2}",
                            output.VaultName, output.CreationDate, output.NumberOfArchives); 
        }
        lastMarker = response.Marker;
      } while (lastMarker != null);
    }

    static void DeleteVault()
    {
      DeleteVaultRequest request = new DeleteVaultRequest()
      {
        VaultName = vaultName
      };
      DeleteVaultResponse response = client.DeleteVault(request);
    }
  }
}
```

# Membuat Vault di Amazon Glacier Menggunakan REST API
<a name="creating-vaults-rest-api"></a>

Untuk membuat vault menggunakan REST API, lihat [Membuat Vault (PUT vault)](api-vault-put.md). 

# Membuat Vault Menggunakan Konsol Amazon Glacier
<a name="creating-vaults-console"></a>

*Untuk membuat vault menggunakan konsol Amazon Glacier (Amazon Glacier)[Langkah 2: Buat Vault di Amazon Glacier](getting-started-create-vault.md), lihat di tutorial Memulai.* 

# Membuat Vault di Amazon Glacier Menggunakan AWS Command Line Interface
<a name="creating-vaults-cli"></a>

Ikuti langkah-langkah ini untuk membuat lemari besi di Amazon Glacier (Amazon Glacier) menggunakan (). AWS Command Line Interface AWS CLI

**Topics**
+ [(Prasyarat) Menyiapkan AWS CLI](#Creating-Vaults-CLI-Setup)
+ [Contoh: Membuat Vault Menggunakan AWS CLI](#Creating-Vaults-CLI-Implementation)

## (Prasyarat) Menyiapkan AWS CLI
<a name="Creating-Vaults-CLI-Setup"></a>

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

    [Instalasi AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/installing.html) 

   [Mengkonfigurasi AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)

1. 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
     ```

## Contoh: Membuat Vault Menggunakan AWS CLI
<a name="Creating-Vaults-CLI-Implementation"></a>

1. Gunakan `create-vault` perintah untuk membuat vault bernama *awsexamplevault* di bawah akun*111122223333*.

   ```
   aws glacier create-vault --vault-name awsexamplevault --account-id 111122223333
   ```

   Keluaran yang diharapkan

   ```
   {
       "location": "/111122223333/vaults/awsexamplevault"
   }
   ```

1. Verifikasi pembuatan menggunakan perintah `describe-vault`.

   ```
   aws glacier describe-vault --vault-name awsexamplevault --account-id 111122223333
   ```

# Mengambil Metadata Vault di Amazon Glacier
<a name="retrieving-vault-info"></a>

Anda dapat mengambil informasi vault seperti tanggal pembuatan vault, jumlah arsip di vault, dan ukuran total semua arsip di vault. Amazon Glacier (Amazon Glacier) menyediakan panggilan API bagi Anda untuk mengambil informasi ini untuk brankas tertentu atau semua brankas di Wilayah tertentu di akun Anda. AWS 

Jika Anda mengambil daftar vault, Amazon Glacier mengembalikan daftar yang diurutkan berdasarkan nilai ASCII dari nama vault. Daftar ini berisi hingga 1.000 vault. Anda harus selalu memeriksa respons untuk penanda tempat untuk melanjutkan daftar; jika tidak ada lagi item, bidang penanda adalah `null`. Anda dapat secara opsional membatasi jumlah vault yang dikembalikan dalam respons. Jika ada lebih banyak vault daripada yang dikembalikan dalam respons, hasilnya adalah pemberian nomor halaman. Anda perlu mengirim permintaan tambahan untuk mengambil sekumpulan vault berikutnya. 

**Topics**
+ [Mengambil Metadata Vault di Amazon Glacier Menggunakan AWS SDK untuk Java](retrieving-vault-info-sdk-java.md)
+ [Mengambil Metadata Vault di Amazon Glacier Menggunakan AWS SDK untuk .NET](retrieving-vault-info-sdk-dotnet.md)
+ [Mengambil Metadata Vault menggunakan REST API](listing-vaults-rest-api.md)
+ [Mengambil Metadata Vault di Amazon Glacier Menggunakan AWS Command Line Interface](retrieving-vault-info-cli.md)

# Mengambil Metadata Vault di Amazon Glacier Menggunakan AWS SDK untuk Java
<a name="retrieving-vault-info-sdk-java"></a>

**Topics**
+ [Mengambil Metadata Vault untuk Vault](#retrieve-vault-info-sdk-java-lowlevel-one-vault)
+ [Mengambil Metadata Vault untuk Semua Vault dalam Wilayah](#retrieve-vault-info-sdk-java-lowlevel-all-vaults)
+ [Contoh: Mengambil Metadata Vault Menggunakan Amazon SDK for Java](#retrieving-vault-info-sdk-java-example)

## Mengambil Metadata Vault untuk Vault
<a name="retrieve-vault-info-sdk-java-lowlevel-one-vault"></a>

Anda dapat mengambil metadata untuk brankas tertentu atau semua brankas di Wilayah tertentu. AWS Berikut adalah langkah-langkah mengambil metadata vault untuk vault tertentu menggunakan API tingkat rendah dari Amazon SDK for 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.

1. Berikan informasi permintaan dengan membuat instans kelas `DescribeVaultRequest`.

   Amazon Glacier (Amazon Glacier) mengharuskan Anda untuk memberikan nama vault dan ID akun Anda. 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 Java dengan Amazon Glacier](using-aws-sdk-for-java.md).

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

   Informasi metadata vault yang dikembalikan Amazon Glacier tersedia di objek. `DescribeVaultResult`

Potongan kode Java berikut menggambarkan langkah-langkah sebelumnya. 

```
DescribeVaultRequest request = new DescribeVaultRequest()
	.withVaultName("*** provide vault name***");

DescribeVaultResult result = client.describeVault(request);

System.out.print(
        "\nCreationDate: " + result.getCreationDate() +
        "\nLastInventoryDate: " + result.getLastInventoryDate() +
        "\nNumberOfArchives: " + result.getNumberOfArchives() + 
        "\nSizeInBytes: " + result.getSizeInBytes() + 
        "\nVaultARN: " + result.getVaultARN() + 
        "\nVaultName: " + result.getVaultName());
```

 

**catatan**  
Untuk informasi tentang REST API yang mendasarinya, lihat [Menjelaskan Vault (GET vault)](api-vault-get.md). 

## Mengambil Metadata Vault untuk Semua Vault dalam Wilayah
<a name="retrieve-vault-info-sdk-java-lowlevel-all-vaults"></a>

Anda juga dapat menggunakan `listVaults` metode ini untuk mengambil metadata untuk semua vault di Wilayah tertentu. AWS 

Potongan kode Java berikut mengambil daftar vault di Wilayah `us-west-2`. Permintaan membatasi jumlah vault yang dikembalikan dalam merespons 5. Cuplikan kode kemudian membuat serangkaian `listVaults` panggilan untuk mengambil seluruh daftar vault dari Wilayah. AWS 

 

```
AmazonGlacierClient client;
client.setEndpoint("https://glacier.us-west-2.amazonaws.com/");

String marker = null;
do {            
    ListVaultsRequest request = new ListVaultsRequest()
        .withLimit("5")
        .withMarker(marker);
    ListVaultsResult listVaultsResult = client.listVaults(request);
    
    List<DescribeVaultOutput> vaultList = listVaultsResult.getVaultList();
    marker = listVaultsResult.getMarker();
    for (DescribeVaultOutput vault : vaultList) {
        System.out.println(
                "\nCreationDate: " + vault.getCreationDate() +
                "\nLastInventoryDate: " + vault.getLastInventoryDate() +
                "\nNumberOfArchives: " + vault.getNumberOfArchives() + 
                "\nSizeInBytes: " + vault.getSizeInBytes() + 
                "\nVaultARN: " + vault.getVaultARN() + 
                "\nVaultName: " + vault.getVaultName()); 
    }
} while (marker != null);
```

Di segmen kode sebelumnya, jika Anda tidak menentukan `Limit` nilai dalam permintaan, Amazon Glacier mengembalikan hingga 10 vault, seperti yang ditetapkan oleh Amazon Glacier API. Jika ada lebih banyak vault yang dicantumkan, bidang `marker` respons berisi vault Amazon Resource Name (ARN) tempat untuk melanjutkan daftar dengan permintaan baru; jika tidak, bidang `marker` adalah null. 

Perhatikan bahwa informasi yang dikembalikan untuk setiap vault dalam daftar sama dengan informasi yang Anda dapatkan dengan memanggil metode `describeVault` untuk vault tertentu. 

 

**catatan**  
Metode `listVaults` memanggil REST API yang mendasarinya (lihat [Mencantumkan Vault (GET vaults)](api-vaults-get.md)). 

## Contoh: Mengambil Metadata Vault Menggunakan Amazon SDK for Java
<a name="retrieving-vault-info-sdk-java-example"></a>

Untuk contoh kode kerja, lihat [Contoh: Membuat Vault Menggunakan AWS SDK untuk Java](creating-vaults-sdk-java.md#creating-vaults-sdk-java-example). Contoh kode Java membuat vault dan mengambil metadata vault.

# Mengambil Metadata Vault di Amazon Glacier Menggunakan AWS SDK untuk .NET
<a name="retrieving-vault-info-sdk-dotnet"></a>

**Topics**
+ [Mengambil Metadata Vault untuk Vault](#retrieve-vault-info-sdk-dotnet-lowlevel-one-vault)
+ [Mengambil Metadata Vault untuk Semua Vault dalam Wilayah](#retrieve-vault-info-sdk-dotnet-lowlevel-all-vaults)
+ [Contoh: Mengambil Metadata Vault Menggunakan API Tingkat Rendah AWS SDK untuk .NET](#creating-vaults-sdk-dotnet-example)

## Mengambil Metadata Vault untuk Vault
<a name="retrieve-vault-info-sdk-dotnet-lowlevel-one-vault"></a>

Anda dapat mengambil metadata untuk brankas tertentu atau semua brankas di Wilayah tertentu. AWS Berikut adalah langkah-langkah mengambil metadata vault untuk vault tertentu 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 permintaan dengan membuat instans kelas `DescribeVaultRequest`.

   Amazon Glacier (Amazon Glacier) mengharuskan Anda untuk memberikan nama vault dan ID akun Anda. 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).

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

   Informasi metadata vault yang dikembalikan Amazon Glacier tersedia di objek. `DescribeVaultResult`

Potongan kode C\$1 berikut menggambarkan langkah-langkah sebelumnya. Potongan mengambil informasi metadata dari vault yang ada di Wilayah US West (Oregon). 

```
AmazonGlacierClient client;
client = new AmazonGlacierClient(Amazon.RegionEndpoint.USWest2);

DescribeVaultRequest describeVaultRequest = new DescribeVaultRequest()
{
  VaultName = "*** Provide vault name ***"
};  
DescribeVaultResponse describeVaultResponse = client.DescribeVault(describeVaultRequest);
Console.WriteLine("\nVault description...");
Console.WriteLine(
   "\nVaultName: " + describeVaultResponse.VaultName +
   "\nVaultARN: " + describeVaultResponse.VaultARN +
   "\nVaultCreationDate: " + describeVaultResponse.CreationDate +
   "\nNumberOfArchives: " + describeVaultResponse.NumberOfArchives +
   "\nSizeInBytes: " + describeVaultResponse.SizeInBytes +
   "\nLastInventoryDate: " + describeVaultResponse.LastInventoryDate 
   );
```

 

**catatan**  
Untuk informasi tentang REST API yang mendasarinya, lihat [Menjelaskan Vault (GET vault)](api-vault-get.md). 

## Mengambil Metadata Vault untuk Semua Vault dalam Wilayah
<a name="retrieve-vault-info-sdk-dotnet-lowlevel-all-vaults"></a>

Anda juga dapat menggunakan `ListVaults` metode ini untuk mengambil metadata untuk semua vault di Wilayah tertentu. AWS 

Potongan kode C\$1 berikut mengambil daftar vault di Wilayah US West (Oregon). Permintaan membatasi jumlah vault yang dikembalikan dalam merespons 5. Cuplikan kode kemudian membuat serangkaian `ListVaults` panggilan untuk mengambil seluruh daftar vault dari Wilayah. AWS 

 

```
AmazonGlacierClient client;
client = new AmazonGlacierClient(Amazon.RegionEndpoint.USWest2);
string lastMarker = null;
Console.WriteLine("\n List of vaults in your account in the specific AWS Region ...");
do
{
  ListVaultsRequest request = new ListVaultsRequest()
  {
    Limit = 5,
    Marker = lastMarker
  };
  ListVaultsResponse response = client.ListVaults(request);
   
  foreach (DescribeVaultOutput output in response.VaultList)
  {
    Console.WriteLine("Vault Name: {0} \tCreation Date: {1} \t #of archives: {2}",
                      output.VaultName, output.CreationDate, output.NumberOfArchives); 
  }
  lastMarker = response.Marker;
} while (lastMarker != null);
```

Di segmen kode sebelumnya, jika Anda tidak menentukan `Limit` nilai dalam permintaan, Amazon Glacier mengembalikan hingga 10 vault, seperti yang ditetapkan oleh Amazon Glacier API. 

Perhatikan bahwa informasi yang dikembalikan untuk setiap vault dalam daftar sama dengan informasi yang Anda dapatkan dengan memanggil metode `DescribeVault` untuk vault tertentu. 

 

**catatan**  
Metode `ListVaults` memanggil REST API yang mendasarinya (lihat [Mencantumkan Vault (GET vaults)](api-vaults-get.md)). 

## Contoh: Mengambil Metadata Vault Menggunakan API Tingkat Rendah AWS SDK untuk .NET
<a name="creating-vaults-sdk-dotnet-example"></a>

Untuk contoh kode pekerjaan, lihat [Contoh: Operasi Vault Menggunakan API Tingkat Rendah AWS SDK untuk .NET](creating-vaults-dotnet-sdk.md#vault-operations-example-dotnet-lowlevel). Contoh kode C\$1 membuat vault dan mengambil metadata vault.

# Mengambil Metadata Vault menggunakan REST API
<a name="listing-vaults-rest-api"></a>

Untuk mencantumkan vault menggunakan REST API, lihat [Mencantumkan Vault (GET vaults)](api-vaults-get.md). Untuk mendeskripsikan satu vault, lihat [Menjelaskan Vault (GET vault)](api-vault-get.md).

# Mengambil Metadata Vault di Amazon Glacier Menggunakan AWS Command Line Interface
<a name="retrieving-vault-info-cli"></a>

Contoh ini menunjukkan cara mengambil informasi vault dan metadata di Amazon Glacier (Amazon Glacier) menggunakan (). AWS Command Line Interface AWS CLI

**Topics**
+ [(Prasyarat) Menyiapkan AWS CLI](#Creating-Vaults-CLI-Setup)
+ [Contoh: Mengambil Metadata Vault Menggunakan AWS CLI](#Retrieving-Vault-Metadata-CLI-Implementation)

## (Prasyarat) Menyiapkan AWS CLI
<a name="Creating-Vaults-CLI-Setup"></a>

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

    [Memasang AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/installing.html) 

   [Mengkonfigurasi AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)

1. 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
     ```

## Contoh: Mengambil Metadata Vault Menggunakan AWS CLI
<a name="Retrieving-Vault-Metadata-CLI-Implementation"></a>
+ Gunakan `describe-vault` perintah untuk mendeskripsikan vault bernama *awsexamplevault* di bawah akun*111122223333*.

  ```
  aws glacier describe-vault --vault-name awsexamplevault --account-id 111122223333
  ```

# Mengunduh Inventaris Vault di Amazon Glacier
<a name="vault-inventory"></a>

Setelah Anda mengunggah arsip pertama Anda ke brankas Anda, Amazon Glacier (Amazon Glacier) secara otomatis membuat inventaris vault dan kemudian memperbaruinya kira-kira sekali sehari. Setelah Amazon Glacier membuat inventaris pertama, biasanya dibutuhkan setengah hari dan hingga sehari sebelum inventaris itu tersedia untuk diambil. Anda dapat mengambil inventaris vault dari Amazon Glacier dengan proses dua langkah berikut: 

 

1. Mulai tugas pengambilan inventaris menggunakan operasi [Memulai Tugas (POST jobs)](api-initiate-job-post.md).
**penting**  
Kebijakan pengambilan data dapat menyebabkan permintaan tugas pengambilan awal Anda gagal dengan pengecualian `PolicyEnforcedException`. Untuk informasi selengkapnya tentang kebijakan pengambilan data, lihat [Kebijakan Pengambilan Data Amazon Glacier](data-retrieval-policy.md). Untuk informasi selengkapnya tentang pengecualian `PolicyEnforcedException`, lihat [Respons Kesalahan](api-error-responses.md).

1. Setelah tugas selesai, unduh byte menggunakan operasi [Mendapatkan Output Tugas (GET output)](api-job-output-get.md). 

Misalnya, mengambil arsip atau inventaris vault mengharuskan Anda memulai tugas pengambilan terlebih dahulu. Permintaan tugas dijalankan secara asinkron. Ketika Anda memulai tugas pengambilan, Amazon Glacier membuat tugas dan menghasilkan ID tugas dalam respons. Ketika Amazon Glacier menyelesaikan tugas, Anda bisa mendapatkan output tugas, bita arsip, atau data inventaris vault. 

Tugas harus selesai sebelum Anda bisa mendapatkan outputnya. Untuk menentukan status tugas, Anda memiliki opsi berikut:

 
+ **Tunggu pemberitahuan penyelesaian pekerjaan** —Anda dapat menentukan topik Amazon Simple Notification Service (Amazon SNS) tempat Amazon Glacier dapat memposting pemberitahuan setelah pekerjaan selesai. Anda dapat menentukan topik Amazon SNS menggunakan metode berikut: 
  + Tentukan topik Amazon SNS per tugas. 

    Ketika Anda memulai tugas, Anda dapat secara opsional menentukan topik Amazon SNS.
  + Atur konfigurasi notifikasi di vault.

    Anda dapat menetapkan konfigurasi notifikasi untuk peristiwa tertentu di vault (lihat [Mengkonfigurasi Pemberitahuan Vault di Amazon Glacier](configuring-notifications.md)). Amazon Glacier mengirim pesan ke topik SNS yang ditentukan setiap kali peristiwa tertentu terjadi.

  Jika konfigurasi notifikasi disetel di vault dan Anda juga menentukan topik Amazon SNS saat memulai pekerjaan, Amazon Glacier mengirimkan pesan penyelesaian pekerjaan ke kedua topik tersebut. 

  Anda dapat mengonfigurasi topik SNS untuk memberi tahu Anda melalui email atau menyimpan pesan di Amazon Simple Queue Service (Amazon SQS) yang dapat dibuat polling oleh aplikasi Anda. Ketika pesan muncul di antrean, Anda dapat memeriksa apakah tugas berhasil diselesaikan, lalu mengunduh output tugas. 
+ **Minta informasi pekerjaan secara eksplisit** —Amazon Glacier juga menyediakan deskripsi operasi pekerjaan ([Mendeskripsikan Tugas (GET JobID)](api-describe-job-get.md)) yang memungkinkan Anda melakukan polling untuk informasi pekerjaan. Anda dapat mengirim permintaan ini secara berkala untuk mendapatkan informasi tugas. Namun, menggunakan notifikasi Amazon SNS adalah opsi yang disarankan.

 

**catatan**  
Informasi yang Anda dapatkan melalui notifikasi SNS sama dengan informasi yang Anda dapatkan dengan memanggil Jelaskan Tugas. 

**Topics**
+ [Tentang Inventaris](#vault-inventory-about)
+ [Mengunduh Inventaris Vault di Amazon Glacier Menggunakan AWS SDK untuk Java](retrieving-vault-inventory-java.md)
+ [Mengunduh Inventaris Vault di Amazon Glacier Menggunakan AWS SDK untuk .NET](retrieving-vault-inventory-sdk-dotnet.md)
+ [Mengunduh Inventaris Vault Menggunakan REST API](retrieving-vault-inventory-rest-api.md)
+ [Mengunduh Inventaris Vault di Amazon Glacier Menggunakan AWS Command Line Interface](retrieving-vault-inventory-cli.md)

## Tentang Inventaris
<a name="vault-inventory-about"></a>

Amazon Glacier memperbarui inventaris brankas setidaknya sekali per hari, dimulai pada hari Anda pertama kali mengunggah arsip ke lemari besi. Jika tidak ada penambahan arsip atau penghapusan vault sejak inventaris terakhir, tanggal inventaris tidak diperbarui. Saat Anda memulai pekerjaan untuk inventaris vault, Amazon Glacier mengembalikan inventaris terakhir yang dihasilkannya, yang merupakan point-in-time snapshot dan bukan data real-time. Perhatikan bahwa setelah Amazon Glacier membuat inventaris pertama untuk lemari besi, biasanya dibutuhkan setengah hari dan hingga sehari sebelum inventaris tersebut tersedia untuk diambil.

 Anda mungkin merasa mengambil inventaris vault untuk setiap unggahan arsip tidak berguna. Namun, misalkan Anda memelihara database di sisi klien terkait metadata tentang arsip yang Anda unggah ke Amazon Glacier. Selanjutnya, Anda mungkin merasa inventaris vault berguna untuk mencocokkan informasi, jika perlu, dalam basis data Anda dengan inventaris vault aktual. Anda dapat membatasi jumlah item inventaris yang diambil dengan memfilter tanggal pembuatan arsip atau dengan menetapkan batas. Untuk informasi selengkapnya tentang membatasi pengambilan inventaris, lihat [Pengambilan Inventaris Rentang](api-initiate-job-post.md#api-initiate-job-post-vault-inventory-list-filtering).

Inventaris dapat dikembalikan dalam dua format, nilai yang dipisahkan oleh koma (CSV) atau JSON. Anda secara opsional dapat menentukan format ketika Anda memulai tugas inventaris. Format default adalah JSON. Untuk informasi selengkapnya tentang bidang data yang dikembalikan dalam output tugas inventaris, lihat [Isi Respons](api-job-output-get.md#api-job-output-get-responses-elements) dari *API Dapatkan Output Tugas*.

# Mengunduh Inventaris Vault di Amazon Glacier Menggunakan AWS SDK untuk Java
<a name="retrieving-vault-inventory-java"></a>

Berikut adalah langkah-langkah untuk mengambil inventaris vault menggunakan API tingkat rendah dari AWS SDK untuk Java. API tingkat tinggi tidak mendukung pengambilan inventaris vault. 

 

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.  Mulai tugas pengambilan inventaris dengan menjalankan metode `initiateJob`.

   Jalankan `initiateJob` dengan memberikan informasi tugas di objek `InitiateJobRequest`. 
**catatan**  
Perhatikan bahwa jika inventaris belum diselesaikan untuk vault, kesalahan dikembalikan. Amazon Glacier (Amazon Glacier) menyiapkan inventaris untuk setiap lemari besi secara berkala, setiap 24 jam. 

   Amazon Glacier mengembalikan ID pekerjaan sebagai tanggapan. Respons tersedia dalam instans dari kelas `InitiateJobResult`.

    

   ```
   InitiateJobRequest initJobRequest = new InitiateJobRequest()
       .withVaultName("*** provide vault name ***")
       .withJobParameters(
               new JobParameters()
                   .withType("inventory-retrieval")
                   .withSNSTopic("*** provide SNS topic ARN ****")
         );
   
   InitiateJobResult initJobResult = client.initiateJob(initJobRequest);
   String jobId = initJobResult.getJobId();
   ```

1. Tunggu hingga tugas selesai.

   Anda harus menunggu hingga output tugas siap diunduh. Jika Anda telah menyetel konfigurasi notifikasi di vault, atau menetapkan topik Amazon Simple Notification Service (Amazon SNS) saat memulai pekerjaan, Amazon Glacier akan mengirimkan pesan ke topik tersebut setelah menyelesaikan pekerjaan. 

   Anda juga dapat melakukan polling Amazon Glacier dengan memanggil metode untuk menentukan `describeJob` status penyelesaian pekerjaan. Namun, menggunakan topik Amazon SNS untuk notifikasi adalah pendekatan yang disarankan. Contoh kode yang diberikan di bagian berikut menggunakan Amazon SNS untuk Amazon Glacier untuk mempublikasikan pesan.

    

1. Unduh output tugas (data inventaris vault) dengan menjalankan metode `getJobOutput`.

   Anda memberikan ID akun, ID tugas, dan nama vault dengan membuat instans kelas `GetJobOutputRequest`. Jika Anda tidak memberikan ID akun, ID akun yang terkait dengan kredensial yang Anda berikan untuk menandatangani permintaan akan digunakan. Untuk informasi selengkapnya, lihat [Menggunakan AWS SDK untuk Java dengan Amazon Glacier](using-aws-sdk-for-java.md). 

   Output yang dikembalikan Amazon Glacier tersedia di objek. `GetJobOutputResult` 

    

   ```
   GetJobOutputRequest jobOutputRequest = new GetJobOutputRequest()
           .withVaultName("*** provide vault name ***")
           .withJobId("*** provide job ID ***");
   GetJobOutputResult jobOutputResult = client.getJobOutput(jobOutputRequest);
   // jobOutputResult.getBody(); provides the output stream.
   ```

 

**catatan**  
Untuk informasi tentang tugas yang terkait REST API yang mendasarinya, lihat [Operasi Tugas](job-operations.md).

## Contoh: Mengambil inventaris Vault Menggunakan Amazon SDK for Java
<a name="retrieving-vault-inventory-java-example"></a>

Contoh kode Java berikut mengambil inventaris vault untuk vault yang ditentukan.

Contoh tersebut melakukan tugas-tugas berikut: 
+ Membuat topik Amazon Simple Notification Service (Amazon SNS).

  Amazon Glacier mengirimkan pemberitahuan ke topik ini setelah menyelesaikan pekerjaan. 
+ Membuat antrean Amazon Simple Queue Service (Amazon SQS).

  Contoh melampirkan kebijakan ke antrean untuk mengizinkan topik Amazon SNS mengirim pesan ke antrean.
+ Memulai tugas untuk mengunduh arsip yang ditentukan.

  Dalam permintaan pekerjaan, topik Amazon SNS yang dibuat ditentukan sehingga Amazon Glacier dapat mempublikasikan pemberitahuan ke topik setelah menyelesaikan pekerjaan.
+ Memeriksa antrean Amazon SQS untuk pesan yang berisi ID tugas.

  Jika ada pesan, urai JSON dan periksa apakah tugas berhasil diselesaikan. Jika ya, unduh arsipnya. 
+ Membersihkan dengan menghapus topik Amazon SNS dan antrean Amazon SQS yang dibuat.

```
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.fasterxml.jackson.core.JsonFactory;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;

import com.amazonaws.AmazonClientException;
import com.amazonaws.auth.policy.Policy;
import com.amazonaws.auth.policy.Principal;
import com.amazonaws.auth.policy.Resource;
import com.amazonaws.auth.policy.Statement;
import com.amazonaws.auth.policy.Statement.Effect;
import com.amazonaws.auth.policy.actions.SQSActions;
import com.amazonaws.auth.profile.ProfileCredentialsProvider;
import com.amazonaws.services.glacier.AmazonGlacierClient;
import com.amazonaws.services.glacier.model.GetJobOutputRequest;
import com.amazonaws.services.glacier.model.GetJobOutputResult;
import com.amazonaws.services.glacier.model.InitiateJobRequest;
import com.amazonaws.services.glacier.model.InitiateJobResult;
import com.amazonaws.services.glacier.model.JobParameters;
import com.amazonaws.services.sns.AmazonSNSClient;
import com.amazonaws.services.sns.model.CreateTopicRequest;
import com.amazonaws.services.sns.model.CreateTopicResult;
import com.amazonaws.services.sns.model.DeleteTopicRequest;
import com.amazonaws.services.sns.model.SubscribeRequest;
import com.amazonaws.services.sns.model.SubscribeResult;
import com.amazonaws.services.sns.model.UnsubscribeRequest;
import com.amazonaws.services.sqs.AmazonSQSClient;
import com.amazonaws.services.sqs.model.CreateQueueRequest;
import com.amazonaws.services.sqs.model.CreateQueueResult;
import com.amazonaws.services.sqs.model.DeleteQueueRequest;
import com.amazonaws.services.sqs.model.GetQueueAttributesRequest;
import com.amazonaws.services.sqs.model.GetQueueAttributesResult;
import com.amazonaws.services.sqs.model.Message;
import com.amazonaws.services.sqs.model.ReceiveMessageRequest;
import com.amazonaws.services.sqs.model.SetQueueAttributesRequest;


public class AmazonGlacierDownloadInventoryWithSQSPolling {

    public static String vaultName = "*** provide vault name ***";
    public static String snsTopicName = "*** provide topic name ***";
    public static String sqsQueueName = "*** provide queue name ***";
    public static String sqsQueueARN;
    public static String sqsQueueURL;
    public static String snsTopicARN;
    public static String snsSubscriptionARN;
    public static String fileName = "*** provide file name ***";
    public static String region = "*** region ***";
    public static long sleepTime = 600; 
    public static AmazonGlacierClient client;
    public static AmazonSQSClient sqsClient;
    public static AmazonSNSClient snsClient;
    
    public static void main(String[] args) throws IOException {
        
    	ProfileCredentialsProvider credentials = new ProfileCredentialsProvider();

        client = new AmazonGlacierClient(credentials);
        client.setEndpoint("https://glacier." + region + ".amazonaws.com");
        sqsClient = new AmazonSQSClient(credentials);
        sqsClient.setEndpoint("https://sqs." + region + ".amazonaws.com");
        snsClient = new AmazonSNSClient(credentials);
        snsClient.setEndpoint("https://sns." + region + ".amazonaws.com");
        
        try {
            setupSQS();
            
            setupSNS();

            String jobId = initiateJobRequest();
            System.out.println("Jobid = " + jobId);
            
            Boolean success = waitForJobToComplete(jobId, sqsQueueURL);
            if (!success) { throw new Exception("Job did not complete successfully."); }
            
            downloadJobOutput(jobId);
            
            cleanUp();
            
        } catch (Exception e) {
            System.err.println("Inventory retrieval failed.");
            System.err.println(e);
        }   
    }

    private static void setupSQS() {
        CreateQueueRequest request = new CreateQueueRequest()
            .withQueueName(sqsQueueName);
        CreateQueueResult result = sqsClient.createQueue(request);  
        sqsQueueURL = result.getQueueUrl();
                
        GetQueueAttributesRequest qRequest = new GetQueueAttributesRequest()
            .withQueueUrl(sqsQueueURL)
            .withAttributeNames("QueueArn");
        
        GetQueueAttributesResult qResult = sqsClient.getQueueAttributes(qRequest);
        sqsQueueARN = qResult.getAttributes().get("QueueArn");
        
        Policy sqsPolicy = 
            new Policy().withStatements(
                    new Statement(Effect.Allow)
                    .withPrincipals(Principal.AllUsers)
                    .withActions(SQSActions.SendMessage)
                    .withResources(new Resource(sqsQueueARN)));
        Map<String, String> queueAttributes = new HashMap<String, String>();
        queueAttributes.put("Policy", sqsPolicy.toJson());
        sqsClient.setQueueAttributes(new SetQueueAttributesRequest(sqsQueueURL, queueAttributes)); 

    }
    private static void setupSNS() {
        CreateTopicRequest request = new CreateTopicRequest()
            .withName(snsTopicName);
        CreateTopicResult result = snsClient.createTopic(request);
        snsTopicARN = result.getTopicArn();

        SubscribeRequest request2 = new SubscribeRequest()
            .withTopicArn(snsTopicARN)
            .withEndpoint(sqsQueueARN)
            .withProtocol("sqs");
        SubscribeResult result2 = snsClient.subscribe(request2);
                
        snsSubscriptionARN = result2.getSubscriptionArn();
    }
    private static String initiateJobRequest() {
        
        JobParameters jobParameters = new JobParameters()
            .withType("inventory-retrieval")
            .withSNSTopic(snsTopicARN);
        
        InitiateJobRequest request = new InitiateJobRequest()
            .withVaultName(vaultName)
            .withJobParameters(jobParameters);
        
        InitiateJobResult response = client.initiateJob(request);
        
        return response.getJobId();
    }
    
    private static Boolean waitForJobToComplete(String jobId, String sqsQueueUrl) throws InterruptedException, JsonParseException, IOException {
        
        Boolean messageFound = false;
        Boolean jobSuccessful = false;
        ObjectMapper mapper = new ObjectMapper();
        JsonFactory factory = mapper.getFactory();
        
        while (!messageFound) {
            List<Message> msgs = sqsClient.receiveMessage(
               new ReceiveMessageRequest(sqsQueueUrl).withMaxNumberOfMessages(10)).getMessages();

            if (msgs.size() > 0) {
                for (Message m : msgs) {
                    JsonParser jpMessage = factory.createJsonParser(m.getBody());
                    JsonNode jobMessageNode = mapper.readTree(jpMessage);
                    String jobMessage = jobMessageNode.get("Message").textValue();
                    
                    JsonParser jpDesc = factory.createJsonParser(jobMessage);
                    JsonNode jobDescNode = mapper.readTree(jpDesc);
                    String retrievedJobId = jobDescNode.get("JobId").textValue();
                    String statusCode = jobDescNode.get("StatusCode").textValue();
                    if (retrievedJobId.equals(jobId)) {
                        messageFound = true;
                        if (statusCode.equals("Succeeded")) {
                            jobSuccessful = true;
                        }
                    }
                }
                
            } else {
              Thread.sleep(sleepTime * 1000); 
            }
          }
        return (messageFound && jobSuccessful);
    }
    
    private static void downloadJobOutput(String jobId) throws IOException {
        
        GetJobOutputRequest getJobOutputRequest = new GetJobOutputRequest()
            .withVaultName(vaultName)
            .withJobId(jobId);
        GetJobOutputResult getJobOutputResult = client.getJobOutput(getJobOutputRequest);
    
        FileWriter fstream = new FileWriter(fileName);
        BufferedWriter out = new BufferedWriter(fstream);
        BufferedReader in = new BufferedReader(new InputStreamReader(getJobOutputResult.getBody()));            
        String inputLine;
        try {
            while ((inputLine = in.readLine()) != null) {
                out.write(inputLine);
            }
        }catch(IOException e) {
            throw new AmazonClientException("Unable to save archive", e);
        }finally{
            try {in.close();}  catch (Exception e) {}
            try {out.close();}  catch (Exception e) {}             
        }
        System.out.println("Retrieved inventory to " + fileName);
    }
    
    private static void cleanUp() {
        snsClient.unsubscribe(new UnsubscribeRequest(snsSubscriptionARN));
        snsClient.deleteTopic(new DeleteTopicRequest(snsTopicARN));
        sqsClient.deleteQueue(new DeleteQueueRequest(sqsQueueURL));
    }
}
```

# Mengunduh Inventaris Vault di Amazon Glacier Menggunakan AWS SDK untuk .NET
<a name="retrieving-vault-inventory-sdk-dotnet"></a>

Berikut adalah langkah-langkah untuk mengambil inventaris vault menggunakan API tingkat rendah dari AWS SDK untuk .NET. API tingkat tinggi tidak mendukung pengambilan inventaris vault.

 

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. Mulai tugas pengambilan inventaris dengan menjalankan metode `InitiateJob`.

   Anda memberikan informasi tugas di objek `InitiateJobRequest`. Amazon Glacier (Amazon Glacier) mengembalikan ID pekerjaan sebagai tanggapan. Respons tersedia dalam instans dari kelas `InitiateJobResponse`.

    

   ```
   AmazonGlacierClient client;
   client = new AmazonGlacierClient(Amazon.RegionEndpoint.USWest2);
   
   InitiateJobRequest initJobRequest = new InitiateJobRequest()
   {
     VaultName = vaultName,
     JobParameters = new JobParameters()
     {
       Type = "inventory-retrieval",
       SNSTopic = "*** Provide Amazon SNS topic arn ***",
     }
   };
   InitiateJobResponse initJobResponse = client.InitiateJob(initJobRequest);
   string jobId = initJobResponse.JobId;
   ```

1. Tunggu hingga tugas selesai.

   Anda harus menunggu hingga output tugas siap diunduh. Jika Anda telah menyetel konfigurasi notifikasi di vault yang mengidentifikasi topik Amazon Simple Notification Service (Amazon SNS), atau menetapkan topik Amazon SNS saat memulai pekerjaan, Amazon Glacier akan mengirimkan pesan ke topik tersebut setelah menyelesaikan pekerjaan. Contoh kode yang diberikan di bagian berikut menggunakan Amazon SNS untuk Amazon Glacier untuk mempublikasikan pesan.

   Anda juga dapat melakukan polling Amazon Glacier dengan memanggil metode untuk menentukan `DescribeJob` status penyelesaian pekerjaan. Meskipun, menggunakan topik Amazon SNS untuk notifikasi adalah pendekatan yang disarankan. 

1. Unduh output tugas (data inventaris vault) dengan menjalankan metode `GetJobOutput`.

   Anda memberikan ID akun, nama vault, dan informasi ID tugas dengan membuat instans dari kelas `GetJobOutputRequest`. 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). 

   Output yang dikembalikan Amazon Glacier tersedia di objek. `GetJobOutputResponse` 

    

   ```
   GetJobOutputRequest getJobOutputRequest = new GetJobOutputRequest()
   {
     JobId = jobId,
     VaultName = vaultName
   };
   						       
   GetJobOutputResponse getJobOutputResponse = client.GetJobOutput(getJobOutputRequest); 
   using (Stream webStream = getJobOutputResponse.Body)
   {
      using (Stream fileToSave = File.OpenWrite(fileName))
      {
        CopyStream(webStream, fileToSave);
      }
   }
   ```

    
**catatan**  
Untuk informasi tentang tugas yang terkait REST API yang mendasarinya, lihat [Operasi Tugas](job-operations.md).

## Contoh: Mengambil Inventaris Vault Menggunakan API Tingkat Rendah AWS SDK untuk .NET
<a name="creating-vaults-sdk-dotnet-example-inventory"></a>

Contoh kode C\$1 berikut mengambil inventaris vault untuk vault yang ditentukan. 

Contoh tersebut melakukan tugas-tugas berikut:

 
+ Menyiapkan topik Amazon SNS.

  Amazon Glacier mengirimkan pemberitahuan ke topik ini setelah menyelesaikan pekerjaan. 
+ Siapkan antrean Amazon SQS. 

  Contoh melampirkan kebijakan ke antrean untuk mengizinkan topik Amazon SNS mengirim pesan. 
+ Mulai tugas untuk mengunduh arsip yang ditentukan.

  Dalam permintaan pekerjaan, contoh menentukan topik Amazon SNS sehingga Amazon Glacier dapat mengirim pesan setelah menyelesaikan pekerjaan.
+ Memeriksa antrean Amazon SQS secara berkala untuk pesan. 

  Jika ada pesan, urai JSON dan periksa apakah tugas berhasil diselesaikan. Jika ya, unduh arsipnya. Contoh kode menggunakan pustaka JSON.NET (lihat [JSON.NET](http://json.codeplex.com/)) untuk mengurai JSON.
+ Bersihkan dengan menghapus topik Amazon SNS dan antrean Amazon SQS yang dibuat.

**Example**  

```
using System;
using System.Collections.Generic;
using System.IO;
using System.Threading;
using Amazon.Glacier;
using Amazon.Glacier.Model;
using Amazon.Glacier.Transfer;
using Amazon.Runtime;
using Amazon.SimpleNotificationService;
using Amazon.SimpleNotificationService.Model;
using Amazon.SQS;
using Amazon.SQS.Model;
using Newtonsoft.Json;

namespace glacier.amazon.com.rproxy.govskope.us.docsamples
{
  class VaultInventoryJobLowLevelUsingSNSSQS
  {
    static string topicArn;
    static string queueUrl;
    static string queueArn;
    static string vaultName = "*** Provide vault name ***";
    static string fileName  = "*** Provide file name and path where to store inventory ***";
    static AmazonSimpleNotificationServiceClient snsClient;
    static AmazonSQSClient sqsClient;
    const string SQS_POLICY =
        "{" +
        "    \"Version\" : \"2012-10-17\",&TCX5-2025-waiver;" +
        "    \"Statement\" : [" +
        "        {" +
        "            \"Sid\" : \"sns-rule\"," +
        "            \"Effect\" : \"Allow\"," +
        "            \"Principal\" : {\"AWS\" : \"arn:aws:iam::123456789012:root\" }," +
        "            \"Action\"    : \"sqs:SendMessage\"," +
        "            \"Resource\"  : \"{QuernArn}\"," +
        "            \"Condition\" : {" +
        "                \"ArnLike\" : {" +
        "                    \"aws:SourceArn\" : \"{TopicArn}\"" +
        "                }" +
        "            }" +
        "        }" +
        "    ]" +
        "}";

    public static void Main(string[] args)
    {
      AmazonGlacierClient client;
      try
      {
        using (client = new AmazonGlacierClient(Amazon.RegionEndpoint.USWest2))
        {
            Console.WriteLine("Setup SNS topic and SQS queue."); 
            SetupTopicAndQueue();
            Console.WriteLine("To continue, press Enter"); Console.ReadKey();
            
            Console.WriteLine("Retrieve Inventory List");
            GetVaultInventory(client);
        }
        Console.WriteLine("Operations successful.");
        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); }
      finally
      {        
       // Delete SNS topic and SQS queue.
       snsClient.DeleteTopic(new DeleteTopicRequest() { TopicArn = topicArn });
       sqsClient.DeleteQueue(new DeleteQueueRequest() { QueueUrl = queueUrl });
      }
    }

    static void SetupTopicAndQueue()
    {
      long ticks = DateTime.Now.Ticks;
      
      // Setup SNS topic.
      snsClient = new AmazonSimpleNotificationServiceClient(Amazon.RegionEndpoint.USWest2);
      sqsClient = new AmazonSQSClient(Amazon.RegionEndpoint.USWest2);

      topicArn = snsClient.CreateTopic(new CreateTopicRequest { Name = "GlacierDownload-" + ticks }).TopicArn;
      Console.Write("topicArn: "); Console.WriteLine(topicArn);
 
      CreateQueueRequest createQueueRequest =  new CreateQueueRequest();
      createQueueRequest.QueueName = "GlacierDownload-" + ticks;
      CreateQueueResponse createQueueResponse = sqsClient.CreateQueue(createQueueRequest);
      queueUrl = createQueueResponse.QueueUrl;
      Console.Write("QueueURL: "); Console.WriteLine(queueUrl);

      GetQueueAttributesRequest getQueueAttributesRequest = new GetQueueAttributesRequest();
      getQueueAttributesRequest.AttributeNames = new List<string> { "QueueArn" };
      getQueueAttributesRequest.QueueUrl = queueUrl;
      GetQueueAttributesResponse response = sqsClient.GetQueueAttributes(getQueueAttributesRequest);
      queueArn = response.QueueARN;
      Console.Write("QueueArn: ");Console.WriteLine(queueArn);

      // Setup the Amazon SNS topic to publish to the SQS queue.
      snsClient.Subscribe(new SubscribeRequest()
      {
        Protocol = "sqs",
        Endpoint = queueArn,
        TopicArn = topicArn
      });

      // Add the policy to the queue so SNS can send messages to the queue.
      var policy = SQS_POLICY.Replace("{TopicArn}", topicArn).Replace("{QuernArn}", queueArn);
     
      sqsClient.SetQueueAttributes(new SetQueueAttributesRequest()
      {
          QueueUrl = queueUrl,
          Attributes = new Dictionary<string, string>
          {
              { QueueAttributeName.Policy, policy }
          }
      });

    }
 
    static void GetVaultInventory(AmazonGlacierClient client)
    {
      // Initiate job.
      InitiateJobRequest initJobRequest = new InitiateJobRequest()
      {
        VaultName = vaultName,
        JobParameters = new JobParameters()
        {
          Type = "inventory-retrieval",
          Description = "This job is to download a vault inventory.",
          SNSTopic = topicArn,
        }
      };
   
      InitiateJobResponse initJobResponse = client.InitiateJob(initJobRequest);
      string jobId = initJobResponse.JobId;

      // Check queue for a message and if job completed successfully, download inventory.
      ProcessQueue(jobId, client);    
    }

    private static void ProcessQueue(string jobId, AmazonGlacierClient client)
    {
      ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest() { QueueUrl = queueUrl, MaxNumberOfMessages = 1 };
      bool jobDone = false;
      while (!jobDone)
      {
        Console.WriteLine("Poll SQS queue"); 
        ReceiveMessageResponse receiveMessageResponse = sqsClient.ReceiveMessage(receiveMessageRequest);
        if (receiveMessageResponse.Messages.Count == 0)
        {
          Thread.Sleep(10000 * 60);
          continue;
        }
        Console.WriteLine("Got message");
        Message message = receiveMessageResponse.Messages[0];
        Dictionary<string, string> outerLayer = JsonConvert.DeserializeObject<Dictionary<string, string>>(message.Body);
        Dictionary<string, object> fields = JsonConvert.DeserializeObject<Dictionary<string, object>>(outerLayer["Message"]);
        string statusCode = fields["StatusCode"] as string;

        if (string.Equals(statusCode, GlacierUtils.JOB_STATUS_SUCCEEDED, StringComparison.InvariantCultureIgnoreCase))
        {
          Console.WriteLine("Downloading job output");
          DownloadOutput(jobId, client); // Save job output to the specified file location.
        }
        else if (string.Equals(statusCode, GlacierUtils.JOB_STATUS_FAILED, StringComparison.InvariantCultureIgnoreCase))
          Console.WriteLine("Job failed... cannot download the inventory.");

        jobDone = true;
        sqsClient.DeleteMessage(new DeleteMessageRequest() { QueueUrl = queueUrl, ReceiptHandle = message.ReceiptHandle });
      }
    }

    private static void DownloadOutput(string jobId, AmazonGlacierClient client)
    {
      GetJobOutputRequest getJobOutputRequest = new GetJobOutputRequest()
      {      
        JobId = jobId,
        VaultName = vaultName
      };
      
      GetJobOutputResponse getJobOutputResponse = client.GetJobOutput(getJobOutputRequest); 
      using (Stream webStream = getJobOutputResponse.Body)
      {
        using (Stream fileToSave = File.OpenWrite(fileName))
        {
          CopyStream(webStream, fileToSave);
        }
      }
    }

    public static void CopyStream(Stream input, Stream output)
    {
      byte[] buffer = new byte[65536];
      int length;
      while ((length = input.Read(buffer, 0, buffer.Length)) > 0)
      {
        output.Write(buffer, 0, length);
      }
    }
  }
}
```

# Mengunduh Inventaris Vault Menggunakan REST API
<a name="retrieving-vault-inventory-rest-api"></a>

**Untuk mengunduh inventaris vault menggunakan REST API**

Mengunduh inventaris vault adalah proses dua langkah.

1. Mulai tugas dari tipe `inventory-retrieval`. Untuk informasi selengkapnya, lihat [Memulai Tugas (POST jobs)](api-initiate-job-post.md).

1. Setelah tugas selesai, unduh data inventaris. Lihat informasi yang lebih lengkap di [Mendapatkan Output Tugas (GET output)](api-job-output-get.md).

# Mengunduh Inventaris Vault di Amazon Glacier Menggunakan AWS Command Line Interface
<a name="retrieving-vault-inventory-cli"></a>

Ikuti langkah-langkah ini untuk mengunduh inventaris vault di Amazon Glacier (Amazon Glacier) menggunakan (). AWS Command Line Interface AWS CLI

**Topics**
+ [(Prasyarat) Menyiapkan AWS CLI](#Creating-Vaults-CLI-Setup)
+ [Contoh: Mengunduh Inventaris Vault Menggunakan AWS CLI](#Retrieving-Vault-Inventory-CLI-Implementation)

## (Prasyarat) Menyiapkan AWS CLI
<a name="Creating-Vaults-CLI-Setup"></a>

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

    [Instalasi AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/installing.html) 

   [Mengkonfigurasi AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)

1. 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
     ```

## Contoh: Mengunduh Inventaris Vault Menggunakan AWS CLI
<a name="Retrieving-Vault-Inventory-CLI-Implementation"></a>

1. Gunakan perintah `initiate-job` untuk memulai tugas pengambilan inventaris.

   ```
   aws glacier initiate-job --vault-name awsexamplevault --account-id 111122223333 --job-parameters='{"Type": "inventory-retrieval"}'
   ```

    Output yang diharapkan:

   ```
   {
       "location": "/111122223333/vaults/awsexamplevault/jobs/*** jobid ***", 
       "jobId": "*** jobid ***"
   }
   ```

1. Gunakan perintah `describe-job` untuk memeriksa status tugas pengambilan sebelumnya.

   ```
   aws glacier describe-job --vault-name awsexamplevault --account-id 111122223333 --job-id *** jobid ***
   ```

    Output yang diharapkan:

   ```
   {
       "InventoryRetrievalParameters": {
           "Format": "JSON"
       }, 
       "VaultARN": "*** vault arn ***", 
       "Completed": false, 
       "JobId": "*** jobid ***", 
       "Action": "InventoryRetrieval", 
       "CreationDate": "*** job creation date ***", 
       "StatusCode": "InProgress"
   }
   ```

1. Tunggu hingga tugas selesai.

   Anda harus menunggu hingga output tugas siap diunduh. ID pekerjaan tidak kedaluwarsa setidaknya 24 jam setelah Amazon Glacier menyelesaikan pekerjaan. Jika Anda telah menyetel konfigurasi notifikasi di vault, atau menetapkan topik Amazon Simple Notification Service (Amazon SNS) saat memulai pekerjaan, Amazon Glacier akan mengirimkan pesan ke topik tersebut setelah menyelesaikan pekerjaan. 

   Anda dapat menetapkan konfigurasi notifikasi untuk peristiwa tertentu di vault. Untuk informasi selengkapnya, lihat [Mengkonfigurasi Pemberitahuan Vault di Amazon Glacier](configuring-notifications.md). Amazon Glacier mengirim pesan ke topik SNS yang ditentukan kapan saja peristiwa tertentu terjadi.

1. Setelah selesai, gunakan perintah `get-job-output` untuk mengunduh tugas pengambilan ke file `output.json`.

   ```
   aws glacier get-job-output --vault-name awsexamplevault --account-id 111122223333 --job-id *** jobid *** output.json
   ```

   Perintah ini menghasilkan file dengan bidang berikut.

   ```
   {
   "VaultARN":"arn:aws:glacier:region:111122223333:vaults/awsexamplevault",
   "InventoryDate":"*** job completion date ***",
   "ArchiveList":[
   {"ArchiveId":"*** archiveid ***",
   "ArchiveDescription":"*** archive description (if set) ***",
   "CreationDate":"*** archive creation date ***",
   "Size":"*** archive size (in bytes) ***",
   "SHA256TreeHash":"*** archive hash ***"
   }
   {"ArchiveId":
   ...
   ]}
   ```

# Mengkonfigurasi Pemberitahuan Vault di Amazon Glacier
<a name="configuring-notifications"></a>

Mengambil apa pun dari Amazon Glacier, seperti arsip dari lemari besi atau inventaris lemari besi, adalah proses dua langkah. 

1. Mulai tugas pengambilan. 

1. Setelah pekerjaan selesai, unduh output pekerjaan. 

Anda dapat mengatur konfigurasi notifikasi pada vault sehingga ketika pekerjaan selesai, pesan dikirim ke topik Simple Notification Service Amazon (Amazon SNS). 

**Topics**
+ [Mengkonfigurasi Pemberitahuan Vault di Amazon Glacier: Konsep Umum](#configuring-notifications.general)
+ [Mengonfigurasi Pemberitahuan Vault di Amazon Glacier Menggunakan AWS SDK untuk Java](configuring-notifications-sdk-java.md)
+ [Mengonfigurasi Pemberitahuan Vault di Amazon Glacier Menggunakan AWS SDK untuk .NET](configuring-notifications-sdk-dotnet.md)
+ [Mengonfigurasi Pemberitahuan Vault di Amazon Glacier Menggunakan REST API](configuring-notifications-rest-api.md)
+ [Mengonfigurasi Pemberitahuan Vault dengan Menggunakan Konsol Amazon Glacier](configuring-notifications-console.md)
+ [Mengkonfigurasi Pemberitahuan Vault Menggunakan AWS Command Line Interface](configuring-notifications-cli.md)

## Mengkonfigurasi Pemberitahuan Vault di Amazon Glacier: Konsep Umum
<a name="configuring-notifications.general"></a>

Permintaan pekerjaan pengambilan Amazon Glacier dijalankan secara asinkron. Anda harus menunggu hingga Amazon Glacier menyelesaikan pekerjaan sebelum Anda bisa mendapatkan outputnya. Anda dapat secara berkala polling Amazon Glacier untuk menentukan status pekerjaan, tetapi itu bukan pendekatan yang optimal. Amazon Glacier juga mendukung notifikasi. Ketika pekerjaan selesai, pekerjaan dapat memposting pesan ke topik Amazon Simple Notification Service (Amazon SNS). Menggunakan fitur ini mengharuskan Anda untuk mengatur konfigurasi notifikasi pada vault. Dalam konfigurasi, Anda mengidentifikasi satu atau beberapa peristiwa dan topik Amazon SNS yang Anda inginkan Amazon Glacier untuk mengirim pesan ketika peristiwa terjadi. 

Amazon Glacier mendefinisikan peristiwa yang secara khusus terkait dengan penyelesaian pekerjaan `ArchiveRetrievalCompleted` (`InventoryRetrievalCompleted`,) yang dapat Anda tambahkan ke konfigurasi notifikasi vault. Saat pekerjaan tertentu selesai, Amazon Glacier menerbitkan pesan notifikasi ke topik SNS.

 Konfigurasi notifikasi adalah dokumen JSON seperti yang ditunjukkan dalam contoh berikut. 

```
{    
   "SNSTopic": "arn:aws:sns:us-west-2:012345678901:mytopic",    
   "Events": ["ArchiveRetrievalCompleted", "InventoryRetrievalCompleted"] 
}
```

Anda hanya dapat mengonfigurasi satu topik Amazon SNS untuk vault. 

 

**catatan**  
Menambahkan konfigurasi notifikasi ke vault menyebabkan Amazon Glacier mengirim notifikasi setiap kali peristiwa yang ditentukan dalam konfigurasi notifikasi terjadi. Anda juga dapat menentukan topik Amazon SNS di setiap permintaan inisiasi tugas secara opsional. Jika Anda menambahkan konfigurasi notifikasi pada vault dan juga menentukan topik Amazon SNS dalam permintaan pekerjaan inisiasi, Amazon Glacier akan mengirimkan kedua notifikasi tersebut. 

Pesan penyelesaian pekerjaan yang dikirimkan Amazon Glacier mencakup informasi seperti jenis pekerjaan `InventoryRetrieval` (`ArchiveRetrieval`,), status penyelesaian pekerjaan, nama topik SNS, kode status pekerjaan, dan ARN vault. Berikut ini adalah contoh pemberitahuan Amazon Glacier dikirim ke topik SNS setelah `InventoryRetrieval` pekerjaan selesai. 

```
{
 "Action": "InventoryRetrieval",
 "ArchiveId": null,
 "ArchiveSizeInBytes": null,
 "Completed": true,
 "CompletionDate": "2012-06-12T22:20:40.790Z",
 "CreationDate": "2012-06-12T22:20:36.814Z",
 "InventorySizeInBytes":11693,
 "JobDescription": "my retrieval job",
 "JobId":"HkF9p6o7yjhFx-K3CGl6fuSm6VzW9T7esGQfco8nUXVYwS0jlb5gq1JZ55yHgt5vP54ZShjoQzQVVh7vEXAMPLEjobID",
 "SHA256TreeHash":null,
 "SNSTopic": "arn:aws:sns:us-west-2:012345678901:mytopic",
 "StatusCode":"Succeeded",
 "StatusMessage": "Succeeded",
 "VaultARN": "arn:aws:glacier:us-west-2:012345678901:vaults/examplevault"
}
```

Jika bidang `Completed` benar, Anda juga harus memeriksa `StatusCode` untuk memeriksa apakah tugas berhasil diselesaikan atau gagal. 

**catatan**  
Topik Amazon SNS harus mengizinkan brankas untuk mempublikasikan pemberitahuan. Secara default, hanya pemilik topik Amazon SNS yang dapat mempublikasikan pesan ke topik tersebut. Namun, jika topik Amazon SNS dan brankas dimiliki oleh yang berbeda Akun AWS, maka Anda harus mengonfigurasi topik Amazon SNS untuk menerima publikasi dari brankas. Anda dapat mengonfigurasi kebijakan topik Amazon SNS di konsol Amazon SNS. 

Untuk informasi selengkapnya tentang Amazon SNS, lihat [Mulai Menggunakan Amazon SNS](https://docs.aws.amazon.com/sns/latest/gsg/Welcome.html).

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

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. 

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

1. 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 Glacier (Amazon Glacier) untuk mengirim pemberitahuan ke topik Amazon SNS yang ditentukan saat peristiwa atau peristiwa terjadi. `ArchiveRetrievalCompleted` `InventoryRetrievalCompleted`

 

```
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 tentang REST API yang mendasarinya, lihat [Operasi Vault](vault-operations.md).

## Contoh: Menyetel Konfigurasi Pemberitahuan di Vault Menggunakan AWS SDK untuk Java
<a name="configuring-notifications-sdk-java-example"></a>

Contoh kode Java berikut menetapkan konfigurasi notifikasi vault, menghapus konfigurasi, lalu mengembalikan konfigurasi. Untuk step-by-step petunjuk tentang cara menjalankan contoh berikut, lihat[Menggunakan AWS SDK untuk Java dengan Amazon Glacier](using-aws-sdk-for-java.md). 

**Example**  

```
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);
    }
}
```

# 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 \$1C 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.us.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);
    }
  }
}
```

# Mengonfigurasi Pemberitahuan Vault di Amazon Glacier Menggunakan REST API
<a name="configuring-notifications-rest-api"></a>

Mengonfigurasi notifikasi vault menggunakan REST API, lihat [Menetapkan Konfigurasi Notifikasi Vault (PUT notification-configuration)](api-vault-notifications-put.md). Selain itu, Anda juga bisa mendapatkan notifikasi vault ([Mendapatkan Notifikasi Vault (GET notification-configuration)](api-vault-notifications-get.md)) dan menghapus notifikasi vault ([Menghapus Notifikasi Vault (DELETE notification-configuration)](api-vault-notifications-delete.md)).

# Mengonfigurasi Pemberitahuan Vault dengan Menggunakan Konsol Amazon Glacier
<a name="configuring-notifications-console"></a>

Bagian ini menjelaskan cara mengonfigurasi pemberitahuan vault dengan menggunakan konsol Amazon Glacier. Saat mengonfigurasi notifikasi, Anda menentukan peristiwa penyelesaian pekerjaan yang mengirim pemberitahuan ke topik Simple Notification Service Amazon (Amazon SNS). Selain mengonfigurasi notifikasi terkait vault, Anda juga dapat menentukan topik untuk memublikasikan notifikasi saat Anda memulai tugas. Jika vault Anda dikonfigurasi untuk mengirim pemberitahuan untuk acara tertentu dan Anda juga mengonfigurasi notifikasi dalam permintaan inisiasi pekerjaan, maka dua notifikasi akan dikirim. 

**Untuk mengonfigurasi notifikasi vault**

1. [Masuk ke Konsol Manajemen AWS dan buka konsol Amazon Glacier di rumah. https://console.aws.amazon.com/glacier/](https://console.aws.amazon.com/glacier/home)

1. Di panel navigasi kiri, pilih **Vaults**.

1. Dalam daftar **Vaults**, pilih brankas.

1. Di bagian **Notifikasi**, pilih **Edit**.

1. Pada halaman **Pemberitahuan acara**, pilih **Aktifkan notifikasi**.

1. Di bagian **Notifikasi**, pilih salah satu opsi Amazon Simple Notification Service (Amazon SNS) berikut, lalu ikuti langkah-langkah yang sesuai:    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/amazonglacier/latest/dev/configuring-notifications-console.html)

1. Di bawah **Acara**, pilih salah satu atau kedua acara yang ingin Anda kirimi notifikasi:
   + Untuk mengirim pemberitahuan hanya ketika pekerjaan pengambilan arsip selesai, pilih **Arsip Pekerjaan Pengambilan** Lengkap. 
   + Untuk mengirim pemberitahuan hanya ketika pekerjaan inventaris vault selesai, pilih **Vault Inventory Retrieval Job** Complete. 

# Mengkonfigurasi Pemberitahuan Vault Menggunakan AWS Command Line Interface
<a name="configuring-notifications-cli"></a>

Bagian ini menjelaskan cara mengonfigurasi pemberitahuan vault menggunakan. AWS Command Line Interface Ketika Anda mengonfigurasi notifikasi, Anda menentukan peristiwa penyelesaian tugas yang memicu notifikasi untuk topik Amazon Simple Notification Service (Amazon SNS). Selain mengonfigurasi notifikasi untuk vault, Anda juga dapat menentukan topik untuk menerbitkan notifikasi ketika Anda memulai tugas. Jika vault Anda dikonfigurasi untuk memberi tahu peristiwa tertentu dan Anda menentukan notifikasi dalam permintaan inisiasi tugas, dua notifikasi akan dikirim. 

Ikuti langkah-langkah ini untuk mengonfigurasi pemberitahuan vault menggunakan. AWS CLI

**Topics**
+ [(Prasyarat) Menyiapkan AWS CLI](#Creating-Vaults-CLI-Setup)
+ [Contoh: Konfigurasikan Pemberitahuan Vault Menggunakan AWS CLI](#Configure-Vault-Notifications-CLI-Implementation)

## (Prasyarat) Menyiapkan AWS CLI
<a name="Creating-Vaults-CLI-Setup"></a>

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

    [Memasang AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/installing.html) 

   [Mengkonfigurasi AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)

1. 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
     ```

## Contoh: Konfigurasikan Pemberitahuan Vault Menggunakan AWS CLI
<a name="Configure-Vault-Notifications-CLI-Implementation"></a>

1. Gunakan `set-vault-notifications` perintah untuk mengonfigurasi notifikasi yang akan dikirim saat peristiwa tertentu terjadi pada brankas. Secara default, Anda tidak mendapatkan notifikasi apa pun.

   ```
   aws glacier set-vault-notifications --vault-name examplevault --account-id 111122223333 --vault-notification-config file://notificationconfig.json
   ```

1.  Konfigurasi notifikasi adalah dokumen JSON seperti yang ditunjukkan dalam contoh berikut. 

   ```
   {    
      "SNSTopic": "arn:aws:sns:us-west-2:012345678901:mytopic",    
      "Events": ["ArchiveRetrievalCompleted", "InventoryRetrievalCompleted"] 
   }
   ```

   Untuk informasi selengkapnya tentang menggunakan topik Amazon SNS untuk Amazon Glacier, lihat, Mengonfigurasi [Pemberitahuan Vault](configuring-notifications.html#configuring-notifications.general) di Amazon Glacier: Konsep Umum

   Untuk informasi selengkapnya tentang Amazon SNS, lihat [Mulai Menggunakan Amazon SNS](https://docs.aws.amazon.com/sns/latest/gsg/Welcome.html).

# Menghapus Vault di Amazon Glacier
<a name="deleting-vaults"></a>

Amazon Glacier (Amazon Glacier) menghapus lemari besi hanya jika tidak ada arsip di lemari besi pada inventaris terakhir yang dihitung dan belum ada penulisan ke lemari besi sejak inventaris terakhir. Untuk informasi tentang menghapus arsip, lihat [Menghapus Arsip di Amazon Glacier](deleting-an-archive.md). Untuk informasi tentang mengunduh inventaris vault, [Mengunduh Inventaris Vault di Amazon Glacier](vault-inventory.md). 

 

**catatan**  
Amazon Glacier menyiapkan inventaris untuk setiap lemari besi secara berkala, setiap 24 jam. Karena inventaris mungkin tidak mencerminkan informasi terbaru, Amazon Glacier memastikan brankas memang kosong dengan memeriksa apakah ada operasi penulisan sejak inventaris brankas terakhir. 

**catatan**  
Untuk penghapusan otomatis arsip vault, lihat [Penghapusan otomatis arsip vault di Amazon S3 Glacier](https://aws.amazon.com/solutions/guidance/automated-deletion-of-vault-archives-in-amazon-s3-glacier/).

**Topics**
+ [Menghapus Vault di Amazon Glacier Menggunakan AWS SDK untuk Java](deleting-vaults-sdk-java.md)
+ [Menghapus Vault di Amazon Glacier Menggunakan AWS SDK untuk .NET](deleting-vaults-sdk-dotnet.md)
+ [Menghapus Vault di Amazon Glacier Menggunakan REST API](deleting-vault-rest-api.md)
+ [Menghapus Vault Kosong dengan Menggunakan Konsol Amazon Glacier](deleting-vaults-console.md)
+ [Menghapus Vault di Amazon Glacier Menggunakan AWS Command Line Interface](deleting-vaults-cli.md)

# Menghapus Vault di Amazon Glacier Menggunakan AWS SDK untuk Java
<a name="deleting-vaults-sdk-java"></a>

Berikut adalah langkah-langkah untuk menghapus vault menggunakan API tingkat rendah dari AWS SDK untuk Java.

 

1. Buat instans dari kelas `AmazonGlacierClient` (klien). 

   Anda perlu menentukan AWS Wilayah dari mana Anda ingin menghapus brankas. Semua operasi yang Anda lakukan menggunakan klien ini berlaku untuk AWS Wilayah tersebut. 

1. Berikan informasi permintaan dengan membuat instans kelas `DeleteVaultRequest`.

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

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

   Amazon Glacier (Amazon Glacier) menghapus lemari besi hanya jika kosong. Untuk informasi selengkapnya, lihat [Menghapus Vault (DELETE vault)](api-vault-delete.md).

Potongan kode Java berikut menggambarkan langkah-langkah sebelumnya. 

 

```
try {
    DeleteVaultRequest request = new DeleteVaultRequest()
        .withVaultName("*** provide vault name ***");

    client.deleteVault(request);
    System.out.println("Deleted vault: " + vaultName);
} catch (Exception e) {
    System.err.println(e.getMessage());
}
```

**catatan**  
Untuk informasi tentang REST API yang mendasarinya, lihat [Menghapus Vault (DELETE vault)](api-vault-delete.md). 

## Contoh: Menghapus Vault Menggunakan AWS SDK untuk Java
<a name="deleting-vaults-sdk-java-example"></a>

Untuk contoh kode pekerjaan, lihat [Contoh: Membuat Vault Menggunakan AWS SDK untuk Java](creating-vaults-sdk-java.md#creating-vaults-sdk-java-example). Contoh kode Java menunjukkan operasi vault dasar, termasuk membuat dan menghapus vault. 

# Menghapus Vault di Amazon Glacier Menggunakan AWS SDK untuk .NET
<a name="deleting-vaults-sdk-dotnet"></a>

Baik [level tinggi maupun level rendah](using-aws-sdk.md) yang APIs disediakan oleh Amazon SDK for .NET menyediakan metode untuk menghapus vault.

**Topics**
+ [Menghapus Vault Menggunakan API Tingkat Tinggi AWS SDK untuk .NET](#deleting-vault-sdk-dotnet-high-level)
+ [Menghapus Vault Menggunakan API Tingkat Rendah AWS SDK untuk .NET](#deleting-vault-sdk-dotnet-low-level)

## Menghapus Vault Menggunakan API Tingkat Tinggi AWS SDK untuk .NET
<a name="deleting-vault-sdk-dotnet-high-level"></a>

Kelas `ArchiveTransferManager` dari API tingkat tinggi menyediakan metode `DeleteVault` yang dapat Anda gunakan untuk menghapus vault.

### Contoh: Menghapus Vault Menggunakan API Tingkat Tinggi AWS SDK untuk .NET
<a name="deleting-vaults-sdk-dotnet-high-level-example"></a>

Untuk contoh kode pekerjaan, lihat [Contoh: Operasi Vault Menggunakan API Tingkat Tinggi AWS SDK untuk .NET](creating-vaults-dotnet-sdk.md#vault-operations-example-dotnet-highlevel). Contoh kode C\$1 menunjukkan operasi vault dasar, termasuk membuat dan menghapus vault. 

## Menghapus Vault Menggunakan API Tingkat Rendah AWS SDK untuk .NET
<a name="deleting-vault-sdk-dotnet-low-level"></a>

Berikut adalah langkah-langkah untuk menghapus vault menggunakan AWS SDK untuk .NET.

 

1. Buat instans dari kelas `AmazonGlacierClient` (klien). 

   Anda perlu menentukan AWS Wilayah dari mana Anda ingin menghapus brankas. Semua operasi yang Anda lakukan menggunakan klien ini berlaku untuk AWS Wilayah tersebut. 

1. Berikan informasi permintaan dengan membuat instans kelas `DeleteVaultRequest`.

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

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

   Amazon Glacier (Amazon Glacier) menghapus lemari besi hanya jika kosong. Untuk informasi selengkapnya, lihat [Menghapus Vault (DELETE vault)](api-vault-delete.md).

Potongan kode C\$1 berikut menggambarkan langkah-langkah sebelumnya. Cuplikan mengambil informasi metadata dari vault yang ada di Region default. AWS 

```
AmazonGlacier client;
client = new AmazonGlacierClient(Amazon.RegionEndpoint.USEast1);

DeleteVaultRequest request = new DeleteVaultRequest()
{
  VaultName = "*** provide vault name ***"
};

DeleteVaultResponse response = client.DeleteVault(request);
```

**catatan**  
Untuk informasi tentang REST API yang mendasarinya, lihat [Menghapus Vault (DELETE vault)](api-vault-delete.md).

### Contoh: Menghapus Vault Menggunakan API Tingkat Rendah AWS SDK untuk .NET
<a name="creating-vaults-sdk-dotnet-low-level-example"></a>

Untuk contoh kode pekerjaan, lihat [Contoh: Operasi Vault Menggunakan API Tingkat Rendah AWS SDK untuk .NET](creating-vaults-dotnet-sdk.md#vault-operations-example-dotnet-lowlevel). Contoh kode C\$1 menunjukkan operasi vault dasar, termasuk membuat dan menghapus vault. 

# Menghapus Vault di Amazon Glacier Menggunakan REST API
<a name="deleting-vault-rest-api"></a>

Untuk menghapus vault menggunakan REST API, lihat [Menghapus Vault (DELETE vault)](api-vault-delete.md).

# Menghapus Vault Kosong dengan Menggunakan Konsol Amazon Glacier
<a name="deleting-vaults-console"></a>

**catatan**  
Sebelum menghapus brankas, Anda harus menghapus semua arsip yang ada di dalam brankas. Anda dapat melakukannya dengan menulis kode untuk membuat permintaan hapus arsip dengan menggunakan REST API, the AWS SDK untuk Java, the AWS SDK untuk .NET, atau dengan menggunakan AWS Command Line Interface (AWS CLI). Untuk informasi tentang menghapus arsip, lihat [Langkah 5: Hapus Arsip dari Vault di Amazon Glacier](getting-started-delete-archive.md).

Setelah brankas kosong, Anda dapat menghapusnya dengan menggunakan langkah-langkah berikut.

**Untuk menghapus vault kosong dengan menggunakan konsol Amazon Glacier**

1. [Masuk ke Konsol Manajemen AWS dan buka konsol Amazon Glacier di Amazon Glacier Console.](https://console.aws.amazon.com/glacier/home)

1. Di bawah **Pilih Wilayah**, pilih Wilayah AWS tempat vault berada.

1. Di panel navigasi kiri, pilih **Vaults**.

1. Dalam daftar **Vaults**, pilih tombol opsi di sebelah nama brankas yang ingin Anda hapus, lalu pilih **Hapus** di bagian atas halaman.

1. **Di kotak dialog **Hapus vault**, konfirmasikan bahwa Anda ingin menghapus vault dengan memilih Hapus.** 
**penting**  
Menghapus brankas tidak dapat dibatalkan.

1. Untuk memverifikasi bahwa Anda telah menghapus vault, buka daftar **Vaults** dan masukkan nama vault yang Anda hapus. Jika lemari besi tidak dapat ditemukan, penghapusan Anda berhasil. 

# Menghapus Vault di Amazon Glacier Menggunakan AWS Command Line Interface
<a name="deleting-vaults-cli"></a>

Anda dapat menghapus kubah kosong dan tidak kosong di Amazon Glacier (Amazon Glacier) menggunakan (). AWS Command Line Interface AWS CLI

**Topics**
+ [(Prasyarat) Menyiapkan AWS CLI](#Creating-Vaults-CLI-Setup)
+ [Contoh: Menghapus Brankas Kosong Menggunakan AWS CLI](#Deleting-Empty-Vaults-CLI-Implementation)
+ [Contoh: Menghapus Vault Tidak Kosong Menggunakan AWS CLI](#Deleting-A-Nonempty-Vaults-CLI-Implementation)

## (Prasyarat) Menyiapkan AWS CLI
<a name="Creating-Vaults-CLI-Setup"></a>

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

    [Instalasi AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/installing.html) 

   [Mengkonfigurasi AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)

1. 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
     ```

## Contoh: Menghapus Brankas Kosong Menggunakan AWS CLI
<a name="Deleting-Empty-Vaults-CLI-Implementation"></a>
+ Gunakan perintah `delete-vault` untuk menghapus vault yang tidak berisi arsip.
  + 

    ```
    aws glacier delete-vault --vault-name awsexamplevault --account-id 111122223333
    ```

## Contoh: Menghapus Vault Tidak Kosong Menggunakan AWS CLI
<a name="Deleting-A-Nonempty-Vaults-CLI-Implementation"></a>

Amazon Glacier menghapus lemari besi hanya jika tidak ada arsip di lemari besi pada inventaris terakhir yang dihitung, dan belum ada penulisan ke lemari besi sejak inventaris terakhir. Menghapus vault nonempty adalah proses tiga langkah: mengambil arsip IDs dari laporan inventaris vault, menghapus setiap arsip, dan kemudian menghapus vault.

1. Gunakan perintah `initiate-job` untuk memulai tugas pengambilan inventaris.

   ```
   aws glacier initiate-job --vault-name awsexamplevault --account-id 111122223333 --job-parameters '{"Type": "inventory-retrieval"}'
   ```

    Output yang diharapkan:

   ```
   {
       "location": "/111122223333/vaults/awsexamplevault/jobs/*** jobid ***", 
       "jobId": "*** jobid ***"
   }
   ```

1. Gunakan perintah `describe-job` untuk memeriksa status tugas pengambilan sebelumnya.

   ```
   aws glacier describe-job --vault-name awsexamplevault --account-id 111122223333 --job-id *** jobid ***
   ```

    Output yang diharapkan:

   ```
   {
       "InventoryRetrievalParameters": {
           "Format": "JSON"
       }, 
       "VaultARN": "*** vault arn ***", 
       "Completed": false, 
       "JobId": "*** jobid ***", 
       "Action": "InventoryRetrieval", 
       "CreationDate": "*** job creation date ***", 
       "StatusCode": "InProgress"
   }
   ```

1. Tunggu hingga tugas selesai.

   Anda harus menunggu hingga output tugas siap diunduh. Jika Anda menyetel konfigurasi notifikasi di vault atau menetapkan topik Simple Notification Service Amazon (Amazon SNS) saat memulai pekerjaan, Amazon Glacier akan mengirimkan pesan ke topik tersebut setelah menyelesaikan pekerjaan. 

   Anda dapat menetapkan konfigurasi notifikasi untuk peristiwa tertentu di vault. Untuk informasi selengkapnya, lihat [Mengkonfigurasi Pemberitahuan Vault di Amazon Glacier](configuring-notifications.md). Amazon Glacier mengirim pesan ke topik SNS yang ditentukan kapan saja peristiwa tertentu terjadi.

1. Setelah selesai, gunakan perintah `get-job-output` untuk mengunduh tugas pengambilan ke file `output.json`.

   ```
   aws glacier get-job-output --vault-name awsexamplevault --account-id 111122223333 --job-id *** jobid *** output.json
   ```

   Perintah ini menghasilkan file dengan bidang berikut.

   ```
   {
   "VaultARN":"arn:aws:glacier:region:111122223333:vaults/awsexamplevault",
   "InventoryDate":"*** job completion date ***",
   "ArchiveList":[
   {"ArchiveId":"*** archiveid ***",
   "ArchiveDescription":*** archive description (if set) ***,
   "CreationDate":"*** archive creation date ***",
   "Size":"*** archive size (in bytes) ***",
   "SHA256TreeHash":"*** archive hash ***"
   }
   {"ArchiveId":
   ...
   ]}
   ```

1. Gunakan perintah `delete-archive` untuk menghapus setiap arsip dari vault sampai tidak ada yang tersisa.

   ```
   aws glacier delete-archive --vault-name awsexamplevault --account-id 111122223333 --archive-id "*** archiveid ***"
   ```
**catatan**  
Jika ID arsip Anda dimulai dengan tanda hubung atau karakter khusus lainnya, Anda harus melampirkan ID arsip dalam tanda kutip untuk menjalankan perintah ini.

1. Gunakan perintah `initiate-job` untuk memulai tugas pengambilan inventaris baru.

   ```
   aws glacier initiate-job --vault-name awsexamplevault --account-id 111122223333 --job-parameters '{"Type": "inventory-retrieval"}'
   ```

1. Setelah selesai, gunakan perintah `delete-vault` untuk menghapus vault tanpa arsip.

   ```
   aws glacier delete-vault --vault-name awsexamplevault --account-id 111122223333
   ```

# Menandai Brankas Amazon Glacier Anda
<a name="tagging-vaults"></a>

Anda dapat menetapkan metadata Anda sendiri ke brankas Amazon Glacier dalam bentuk tag. *Tanda* adalah pasangan nilai-kunci yang Anda tetapkan untuk vault. Untuk informasi dasar tentang penandaan, termasuk pembatasan tag, lihat [Menandai Sumber Daya Amazon Glacier](tagging.md).

Topik berikut menjelaskan bagaimana Anda dapat menambahkan, mencantumkan, dan menghapus tanda untuk vault.

**Topics**
+ [Menandai Vaults dengan Menggunakan Konsol Amazon Glacier](#tagging-console)
+ [Menandai Vaults dengan Menggunakan AWS CLI](#tagging-cli)
+ [Menandai Vaults dengan Menggunakan Amazon Glacier API](#tagging-api)
+ [Bagian Terkait](#related-sections-tagging-vaults)

## Menandai Vaults dengan Menggunakan Konsol Amazon Glacier
<a name="tagging-console"></a>

Anda dapat menambahkan, membuat daftar, dan menghapus tag menggunakan konsol Amazon Glacier, seperti yang dijelaskan dalam prosedur berikut.

**Untuk melihat tanda untuk vault**

1. [Masuk ke Konsol Manajemen AWS dan buka konsol Amazon Glacier di rumah. https://console.aws.amazon.com/glacier/](https://console.aws.amazon.com/glacier/home)

1. Di bawah **Pilih Wilayah**, pilih Wilayah AWS dari pemilih Wilayah.

1. Di panel navigasi kiri, pilih **Vaults**.

1. Dalam daftar **Vaults**, pilih brankas.

1. Pilih tab **properti Vaults**. Gulir ke bagian **Tag** untuk melihat tag yang terkait dengan brankas.

**Untuk menambahkan tanda ke vault**

Anda dapat mengaitkan hingga 50 tag ke brankas. Tag yang terkait dengan vault harus memiliki kunci tag yang unik.

Untuk informasi selengkapnya tentang pembatasan tag, lihat [Menandai Sumber Daya Amazon Glacier](https://docs.aws.amazon.com/amazonglacier/latest/dev/tagging.html).

1. [Masuk ke Konsol Manajemen AWS dan buka konsol Amazon Glacier di rumah. https://console.aws.amazon.com/glacier/](https://console.aws.amazon.com/glacier/home)

1. Di bawah **Pilih Wilayah**, pilih Wilayah AWS dari pemilih Wilayah.

1. Di panel navigasi kiri, pilih **Vaults**.

1. Dalam daftar **Vaults**, pilih nama brankas yang ingin Anda tambahkan tag. 

1. Pilih tab **properti Vault**.

1. Di bagian **Tag**, pilih **Tambah**. Laman **Tambah tag** akan muncul. 

1. Pada halaman **Tambahkan tag**, tentukan kunci tag di bidang **Kunci**, dan secara opsional tentukan nilai tag di bidang **Nilai**. 

1. Pilih **Simpan perubahan**.

**Untuk mengedit tag**

1. [Masuk ke Konsol Manajemen AWS dan buka konsol Amazon Glacier di rumah. https://console.aws.amazon.com/glacier/](https://console.aws.amazon.com/glacier/home)

1. Di bawah **Pilih Wilayah**, pilih Wilayah AWS dari pemilih Wilayah.

1. Di panel navigasi kiri, pilih **Vaults**.

1. Dalam daftar **Vaults**, pilih nama vault. 

1. Pilih tab **Properti Vault**, lalu gulir ke bawah ke bagian **Tag**.

1. Di bawah **Tag**, pilih kotak centang di samping tag yang ingin Anda ubah, lalu pilih **Edit**. Halaman **Edit tag** muncul. 

1. Perbarui kunci tag di bidang **Kunci**, dan opsional memperbarui nilai tag di bidang **Nilai**.

1. Pilih **Simpan perubahan**.

**Untuk menghapus tag dari vault**

1. [Masuk ke Konsol Manajemen AWS dan buka konsol Amazon Glacier di rumah. https://console.aws.amazon.com/glacier/](https://console.aws.amazon.com/glacier/home)

1. Di bawah **Pilih Wilayah**, pilih Wilayah AWS dari pemilih Wilayah.

1. Di panel navigasi kiri, pilih **Vaults**.

1. Dalam daftar **Vaults**, pilih nama brankas yang ingin Anda hapus tag. 

1. Pilih tab **properti Vault**. Gulir ke bawah ke bagian **Tag**.

1. Di bawah **Tag**, pilih kotak centang di samping tag yang ingin Anda hapus, lalu pilih **Hapus**. 

1. Kotak dialog **Hapus tag** terbuka. Untuk mengonfirmasi bahwa Anda ingin menghapus tag yang dipilih, pilih **Hapus**.

## Menandai Vaults dengan Menggunakan AWS CLI
<a name="tagging-cli"></a>

Ikuti langkah-langkah ini untuk menambah, membuat daftar, atau menghapus tag dengan menggunakan AWS Command Line Interface (AWS CLI).

Setiap tanda terdiri dari kunci dan nilai. Setiap vault dapat memiliki hingga 50 tanda.

1. Untuk menambahkan tag ke brankas, gunakan `add-tags-to-vault` perintah. 

   ```
   aws glacier add-tags-to-vault --vault-name examplevault --account-id 111122223333 --tags id=1234,date=2020
   ```

    Untuk informasi selengkapnya tentang operasi vault ini, lihat [Menambahkan Tag Ke Vault](https://docs.aws.amazon.com/amazonglacier/latest/dev/api-AddTagsToVault.html).

1. Untuk mencantumkan semua tag yang dilampirkan ke lemari besi, gunakan `list-tags-for-vault` perintah.

   ```
   aws glacier list-tags-for-vault --vault-name examplevault --account-id 111122223333
   ```

    Untuk informasi selengkapnya tentang operasi vault ini, lihat [Daftar Tag Untuk Vault](https://docs.aws.amazon.com/amazonglacier/latest/dev/api-ListTagsForVault.html).

1. Untuk menghapus satu atau beberapa tag dari kumpulan tag yang dilampirkan ke lemari besi, gunakan `remove-tags-from-vault` perintah.

   ```
   aws glacier remove-tags-from-vault --vault-name examplevault --account-id 111122223333 --tag-keys date
   ```

   Untuk informasi selengkapnya tentang operasi vault ini, lihat [Menghapus Tag Dari Vault](https://docs.aws.amazon.com/amazonglacier/latest/dev/api-RemoveTagsFromVault.html).

## Menandai Vaults dengan Menggunakan Amazon Glacier API
<a name="tagging-api"></a>

Anda dapat menambahkan, membuat daftar, dan menghapus tag dengan menggunakan Amazon Glacier API. Untuk contoh, lihat dokumentasi berikut:

 [Menambahkan Tanda ke Vault (POST tag add)](api-AddTagsToVault.md)   
Menambahkan atau memperbarui tanda untuk vault tertentu.

 [Mencantumkan Tanda untuk Vault (GET tags)](api-ListTagsForVault.md)   
Mencantumkan tanda untuk vault tertentu.

 [Hapus Tanda Dari Vault (POST tags remove)](api-RemoveTagsFromVault.md)   
Menghapus tanda dari vault tertentu.

## Bagian Terkait
<a name="related-sections-tagging-vaults"></a>

 
+ [Menandai Sumber Daya Amazon Glacier](tagging.md)

# Kunci Gletser Amazon Glacier
<a name="vault-lock"></a>

Topik berikut menjelaskan cara mengunci brankas di Amazon Glacier dan cara menggunakan kebijakan Vault Lock.

**Topics**
+ [Gambaran Umum Penguncian Vault](#vault-lock-overview)
+ [Mengunci Vault dengan Menggunakan Amazon Glacier API](vault-lock-how-to-api.md)
+ [Mengunci Vault menggunakan AWS Command Line Interface](vault-lock-how-to-cli.md)
+ [Mengunci Vault dengan Menggunakan Konsol Amazon Glacier](vault-lock-walkthrough.md)

## Gambaran Umum Penguncian Vault
<a name="vault-lock-overview"></a>

Amazon Glacier Vault Lock membantu Anda menerapkan dan menerapkan kontrol kepatuhan dengan mudah untuk kubah Amazon Glacier individual dengan kebijakan Vault Lock. Anda dapat menentukan kontrol seperti “tulis sekali baca banyak” (WORM) dalam kebijakan Vault Lock dan mengunci kebijakan dari pengeditan di masa mendatang. 

**penting**  
Setelah kebijakan Vault Lock dikunci, kebijakan tidak dapat lagi diubah atau dihapus.

Amazon Glacier memberlakukan kontrol yang ditetapkan dalam kebijakan Vault Lock untuk membantu mencapai tujuan kepatuhan Anda. Misalnya, Anda dapat menggunakan kebijakan Vault Lock untuk menerapkan penyimpanan data. Anda dapat menerapkan berbagai kontrol kepatuhan dalam kebijakan Vault Lock menggunakan bahasa kebijakan AWS Identity and Access Management (IAM). Untuk informasi selengkapnya tentang kebijakan Vault Lock, lihat[Kebijakan Vault Lock](vault-lock-policy.md).

Kebijakan Vault Lock berbeda dengan kebijakan akses vault. Kedua kebijakan mengatur kontrol akses ke vault Anda. Namun, kebijakan Vault Lock dapat dikunci untuk mencegah perubahan di masa mendatang, yang memberikan penegakan hukum yang kuat untuk kontrol kepatuhan Anda. Anda dapat menggunakan kebijakan Vault Lock untuk menerapkan kontrol regulasi dan kepatuhan, yang biasanya memerlukan kontrol ketat pada akses data. 

**penting**  
Kami menyarankan Anda terlebih dahulu membuat vault, menyelesaikan kebijakan Vault Lock, lalu mengunggah arsip Anda ke brankas sehingga kebijakan tersebut akan diterapkan padanya. 

Sebaliknya, Anda menggunakan kebijakan akses vault untuk menerapkan kontrol akses yang tidak sesuai, sementara, dan tunduk pada perubahan yang sering. Anda dapat menggunakan kebijakan kunci Vault dan akses vault secara bersamaan. Misalnya, Anda dapat menerapkan aturan penyimpanan data berbasis waktu dalam kebijakan Vault Lock (tolak penghapusan), dan memberikan akses baca ke pihak ketiga yang ditunjuk atau mitra bisnis Anda (izinkan pembacaan) dalam kebijakan akses vault Anda.

Mengunci vault memerlukan dua langkah: 

1. Memulai kunci dengan melampirkan kebijakan Vault Lock ke vault Anda, yang menyetel kunci ke status sedang berlangsung dan mengembalikan ID kunci. Saat kebijakan sedang berlangsung, Anda memiliki waktu 24 jam untuk memvalidasi kebijakan Vault Lock sebelum ID kunci kedaluwarsa. Untuk mencegah vault Anda keluar dari status sedang berlangsung, Anda harus menyelesaikan proses Vault Lock dalam 24 jam ini. Jika tidak, kebijakan Vault Lock Anda akan dihapus.

1. Gunakan ID kunci untuk menyelesaikan proses penguncian. Jika kebijakan Vault Lock tidak berfungsi seperti yang diharapkan, Anda dapat menghentikan proses Vault Lock dan memulai ulang dari awal. Untuk informasi tentang cara menggunakan Amazon Glacier API untuk mengunci vault, lihat. [Mengunci Vault dengan Menggunakan Amazon Glacier API](vault-lock-how-to-api.md)

# Mengunci Vault dengan Menggunakan Amazon Glacier API
<a name="vault-lock-how-to-api"></a>

Untuk mengunci vault Anda dengan Amazon Glacier API, [Memulai Kunci Vault (POST lock-policy)](api-InitiateVaultLock.md) pertama-tama Anda menelepon dengan kebijakan Vault Lock yang menentukan kontrol yang ingin Anda terapkan. `Initiate Vault Lock`Operasi melampirkan kebijakan ke vault Anda, mentransisikan Kunci Vault ke status sedang berlangsung, dan mengembalikan ID kunci unik. Setelah Vault Lock memasuki status dalam proses, Anda memiliki waktu 24 jam untuk menyelesaikan kunci dengan memanggil [Menyelesaikan Kunci Vault (POST lockId)](api-CompleteVaultLock.md) dengan ID kunci yang dikembalikan dari panggilan. `Initiate Vault Lock` 

**penting**  
Kami menyarankan Anda terlebih dahulu membuat vault, menyelesaikan kebijakan Vault Lock, lalu mengunggah arsip Anda ke brankas sehingga kebijakan tersebut akan diterapkan padanya.
Setelah kebijakan Vault Lock terkunci, kebijakan tersebut tidak dapat diubah atau dihapus.

Jika Anda tidak menyelesaikan proses Vault Lock dalam waktu 24 jam setelah memasuki status dalam proses, vault Anda secara otomatis keluar dari status sedang berlangsung, dan kebijakan Kunci Vault dihapus. Anda dapat menelepon `Initiate Vault Lock` lagi untuk menginstal kebijakan Vault Lock baru dan beralih ke status sedang berlangsung.

Status yang sedang berlangsung memberikan kesempatan untuk menguji kebijakan Kunci Vault Anda sebelum Anda menguncinya. Kebijakan Kunci Vault Anda berlaku penuh selama status sedang berlangsung seperti jika vault telah dikunci, kecuali Anda dapat menghapus kebijakan dengan menelepon. [Membatalkan Kunci Vault (DELETE lock-policy)](api-AbortVaultLock.md) Untuk menyempurnakan kebijakan Anda, Anda dapat mengulangi `Initiate Vault Lock` kombinasi`Abort Vault Lock`/sebanyak yang diperlukan untuk memvalidasi perubahan kebijakan Vault Lock.

Setelah memvalidasi kebijakan Vault Lock, Anda dapat menelepon [Menyelesaikan Kunci Vault (POST lockId)](api-CompleteVaultLock.md) dengan ID kunci terbaru untuk menyelesaikan proses penguncian vault. Vault Anda bertransisi ke status terkunci, di mana kebijakan Kunci Vault tidak dapat diubah dan tidak dapat lagi dihapus dengan menelepon. `Abort Vault Lock`

## Bagian Terkait
<a name="related-sections-vault-lock-how-to-api"></a>

 
+ [Kebijakan Vault Lock](vault-lock-policy.md)
+ [Membatalkan Kunci Vault (DELETE lock-policy)](api-AbortVaultLock.md)
+ [Menyelesaikan Kunci Vault (POST lockId)](api-CompleteVaultLock.md)
+ [Mendapatkan Kunci Vault (GET lock-policy)](api-GetVaultLock.md)
+ [Memulai Kunci Vault (POST lock-policy)](api-InitiateVaultLock.md)

# Mengunci Vault menggunakan AWS Command Line Interface
<a name="vault-lock-how-to-cli"></a>

Anda dapat mengunci lemari besi Anda menggunakan. AWS Command Line Interface Ini akan menginstal kebijakan kunci vault pada brankas yang ditentukan dan mengembalikan ID kunci. Anda harus menyelesaikan proses penguncian vault dalam waktu 24 jam jika tidak, kebijakan kunci vault dihapus dari lemari besi.

## (Prasyarat) Menyiapkan AWS CLI
<a name="Creating-Vaults-CLI-Setup"></a>

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

    [Memasang AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/installing.html) 

   [Mengkonfigurasi AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)

1. 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
     ```

1. Gunakan `initiate-vault-lock` untuk menginstal kebijakan kunci vault dan atur status kunci kunci vault. `InProgress`

   ```
   aws glacier initiate-vault-lock --vault-name examplevault --account-id 111122223333 --policy file://lockconfig.json
   ```

1. Konfigurasi kunci adalah dokumen JSON seperti yang ditunjukkan pada contoh berikut. Sebelum menggunakan perintah ini, ganti *VAULT\$1ARN* dan *Principal* dengan nilai yang sesuai untuk kasus penggunaan Anda. 

   Untuk menemukan ARN dari lemari besi yang ingin Anda kunci, Anda dapat menggunakan perintah. `list-vaults` 

   ```
   {"Policy":"{\"Version\":\"2012-10-17\",		 	 	 \"Statement\":[{\"Sid\":\"Define-vault-lock\",\"Effect\":\"Deny\",\"Principal\":{\"AWS\":\"arn:aws:iam::111122223333:root\"},\"Action\":\"glacier:DeleteArchive\",\"Resource\":\"VAULT_ARN\",\"Condition\":{\"NumericLessThanEquals\":{\"glacier:ArchiveAgeinDays\":\"365\"}}}]}"}
   ```

1. Setelah memulai kunci brankas, Anda akan melihat yang dikembalikan. `lockId` 

   ```
   {
       "lockId": "LOCK_ID"
   }
   ```

Untuk menyelesaikan kunci vault Anda harus menjalankan `complete-vault-lock` dalam waktu 24 jam jika tidak kebijakan kunci vault dihapus dari lemari besi.

```
aws glacier complete-vault-lock --vault-name examplevault --account-id 111122223333 --lock-id LOCK_ID
```

## Bagian Terkait
<a name="related-sections-vault-lock-how-to-cli"></a>
+ [initiate-vault-lock](https://docs.aws.amazon.com/cli/latest/reference/glacier/initiate-vault-lock.html)dalam *Referensi AWS CLI Perintah*
+ [daftar-vault di Referensi](https://docs.aws.amazon.com/cli/latest/reference/glacier/list-vaults.html) *Perintah AWS CLI *
+ [complete-vault-lock](https://docs.aws.amazon.com/cli/latest/reference/glacier/complete-vault-lock.html)dalam *Referensi AWS CLI Perintah*
+ [Kebijakan Vault Lock](vault-lock-policy.md)
+ [Membatalkan Kunci Vault (DELETE lock-policy)](api-AbortVaultLock.md)
+ [Menyelesaikan Kunci Vault (POST lockId)](api-CompleteVaultLock.md)
+ [Mendapatkan Kunci Vault (GET lock-policy)](api-GetVaultLock.md)
+ [Memulai Kunci Vault (POST lock-policy)](api-InitiateVaultLock.md)

# Mengunci Vault dengan Menggunakan Konsol Amazon Glacier
<a name="vault-lock-walkthrough"></a>

Amazon Glacier Vault Lock membantu Anda menerapkan dan menerapkan kontrol kepatuhan dengan mudah untuk kubah Amazon Glacier individual dengan kebijakan Vault Lock. Untuk informasi selengkapnya tentang Amazon Glacier Vault Lock, lihat Kontrol Akses Amazon [Glacier](https://docs.aws.amazon.com/amazonglacier/latest/dev/vault-lock-policy.html) dengan Kebijakan Kunci Vault. 

**penting**  
Kami menyarankan Anda terlebih dahulu membuat vault, menyelesaikan kebijakan Vault Lock, lalu mengunggah arsip Anda ke brankas sehingga kebijakan tersebut akan diterapkan padanya.
Setelah kebijakan Vault Lock terkunci, kebijakan tersebut tidak dapat diubah atau dihapus.

**Untuk memulai kebijakan Vault Lock di vault Anda dengan menggunakan konsol Amazon Glacier**

Anda memulai kunci dengan melampirkan kebijakan Vault Lock ke vault Anda, yang menyetel kunci ke status sedang berlangsung dan mengembalikan ID kunci. Saat kebijakan sedang berlangsung, Anda memiliki waktu 24 jam untuk memvalidasi kebijakan Vault Lock sebelum ID kunci kedaluwarsa. 

1. [Masuk ke Konsol Manajemen AWS dan buka konsol Amazon Glacier di rumah. https://console.aws.amazon.com/glacier/](https://console.aws.amazon.com/glacier/home)

1. Di bawah **Pilih Wilayah**, pilih Wilayah AWS dari pemilih Wilayah.

1. Di panel navigasi kiri, pilih **Vaults**.

1. Pada halaman **Vaults**, pilih **Create** vault.

1. Buat lemari besi baru.
**penting**  
Kami menyarankan Anda terlebih dahulu membuat vault, menyelesaikan kebijakan Vault Lock, lalu mengunggah arsip Anda ke brankas sehingga kebijakan tersebut akan diterapkan padanya. 

1.  Pilih lemari besi baru Anda dari daftar **Vaults**.

1.  Pilih tab **Kebijakan Vault**.

1. Di bagian **kebijakan Vault Lock, pilih kebijakan** **Initiate Vault Lock**. 

1. Pada halaman **kebijakan Initiate Vault Lock**, tentukan kontrol penyimpanan rekaman dalam kebijakan Kunci Vault Anda dalam format teks di kotak teks standar.
**catatan**  
Anda dapat menentukan kontrol penyimpanan rekaman dalam kebijakan Vault Lock dalam format teks dan memulai Vault Lock dengan memanggil operasi `Initiate Vault Lock` API atau melalui UI interaktif di konsol Amazon Glacier. Untuk informasi tentang memformat kebijakan Kunci Vault, lihat Contoh Kebijakan Kunci [Amazon Glacier](https://docs.aws.amazon.com/amazonglacier/latest/dev/vault-lock-policy.html#vault-lock-policy-example-deny-delete-archive-age) Vault. 

1. Pilih **Simpan perubahan**.

1. Dalam kotak dialog **Record Vault Lock ID**, salin **ID Kunci** Anda dan simpan di tempat yang aman. 
**penting**  
Setelah kebijakan Vault Lock dimulai, Anda memiliki waktu 24 jam untuk memvalidasi kebijakan dan menyelesaikan proses penguncian. Untuk menyelesaikan proses penguncian, Anda harus memberikan ID kunci. Jika tidak diberikan dalam waktu 24 jam, ID kunci akan kedaluwarsa dan kebijakan Anda yang sedang berlangsung akan dihapus.

1. Setelah menyimpan ID kunci Anda di tempat yang aman, pilih **Tutup**.

1. Uji kebijakan Vault Lock Anda dalam 24 jam ke depan. Jika kebijakan berfungsi sebagaimana dimaksud, pilih **kebijakan Complete Vault Lock**.

1. Di kotak dialog **Complete Vault Lock**, pilih kotak centang untuk mengetahui bahwa menyelesaikan proses kebijakan Vault Lock tidak dapat diubah.

1. Masukkan **ID Kunci** yang Anda berikan di kotak teks.

1. Pilih **Complete Vault Lock**.