

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

# Mengunggah Arsip dalam Satu Operasi
<a name="uploading-archive-single-operation"></a>

Seperti yang dijelaskan di [Mengunggah Arsip di Amazon Glacier](uploading-an-archive.md), Anda dapat mengunggah arsip yang lebih kecil dalam satu operasi. Namun, kami mendorong pelanggan Amazon Glacier (Amazon Glacier) untuk menggunakan Unggahan Multipart untuk mengunggah arsip lebih dari 100 MB. 

**Topics**
+ [Mengunggah Arsip dalam Satu Operasi Menggunakan AWS Command Line Interface](uploading-an-archive-single-op-using-cli.md)
+ [Mengunggah Arsip dalam Satu Operasi Menggunakan AWS SDK untuk Java](uploading-an-archive-single-op-using-java.md)
+ [Mengunggah Arsip dalam Satu Operasi Menggunakan Amazon Glacier AWS SDK untuk .NET di Amazon](uploading-an-archive-single-op-using-dotnet.md)
+ [Mengunggah Arsip dalam Satu Operasi Menggunakan REST API](uploading-an-archive-single-op-using-rest.md)

# Mengunggah Arsip dalam Satu Operasi Menggunakan AWS Command Line Interface
<a name="uploading-an-archive-single-op-using-cli"></a>

Anda dapat mengunggah arsip di Amazon Glacier (Amazon Glacier) menggunakan (). AWS Command Line Interface AWS CLI

**Topics**
+ [(Prasyarat) Menyiapkan AWS CLI](#Creating-Vaults-CLI-Setup)
+ [Contoh: Unggah Arsip Menggunakan AWS CLI](#Uploading-Archives-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: Unggah Arsip Menggunakan AWS CLI
<a name="Uploading-Archives-CLI-Implementation"></a>

Untuk mengunggah arsip, Anda harus membuat brankas. Untuk informasi selengkapnya tentang membuat brankas, lihat. [Membuat Vault di Amazon Glacier](creating-vaults.md)

1. Gunakan `upload-archive` perintah untuk menambahkan arsip ke brankas yang ada. Pada contoh di bawah ini ganti `vault name` dan`account ID`. Untuk `body` parameter tentukan jalur ke file yang ingin Anda unggah.

   ```
   aws glacier upload-archive --vault-name awsexamplevault --account-id 123456789012 --body archive.zip
   ```

1.  Keluaran yang diharapkan

   ```
   {
       "archiveId": "kKB7ymWJVpPSwhGP6ycSOAekp9ZYe_--zM_mw6k76ZFGEIWQX-ybtRDvc2VkPSDtfKmQrj0IRQLSGsNuDp-AJVlu2ccmDSyDUmZwKbwbpAdGATGDiB3hHO0bjbGehXTcApVud_wyDw",
       "checksum": "969fb39823836d81f0cc028195fcdbcbbe76cdde932d4646fa7de5f21e18aa67",
       "location": "/123456789012/vaults/awsexamplevault/archives/kKB7ymWJVpPSwhGP6ycSOAekp9ZYe_--zM_mw6k76ZFGEIWQX-ybtRDvc2VkPSDtfKmQrj0IRQLSGsNuDp-AJVlu2ccmDSyDUmZwKbwbpAdGATGDiB3hHO0bjbGehXTcApVud_wyDw"
   }
   ```

   Setelah selesai perintah akan menampilkan ID arsip, checksum, dan lokasi di Amazon Glacier. *Untuk informasi selengkapnya tentang perintah upload-archive, lihat [upload-archive](https://docs.aws.amazon.com/cli/latest/reference/glacier/upload-archive.html) di Command Reference.AWS CLI *

# Mengunggah Arsip dalam Satu Operasi Menggunakan AWS SDK untuk Java
<a name="uploading-an-archive-single-op-using-java"></a>

Baik [tingkat tinggi dan tingkat rendah](using-aws-sdk.md) yang APIs disediakan oleh Amazon SDK for Java menyediakan metode untuk mengunggah arsip.

**Topics**
+ [Mengunggah Arsip Menggunakan API Tingkat Tinggi AWS SDK untuk Java](#uploading-an-archive-single-op-high-level-using-java)
+ [Mengunggah Arsip dalam Satu Operasi Menggunakan API Tingkat Rendah AWS SDK untuk Java](#uploading-an-archive-single-op-low-level-using-java)

## Mengunggah Arsip Menggunakan API Tingkat Tinggi AWS SDK untuk Java
<a name="uploading-an-archive-single-op-high-level-using-java"></a>

Kelas `ArchiveTransferManager` dari API tingkat tinggi menyediakan metode `upload`, yang dapat Anda gunakan untuk mengunggah arsip ke vault.

 

**catatan**  
Anda dapat menggunakan metode `upload` untuk mengunggah arsip kecil atau besar. Bergantung pada ukuran arsip yang Anda unggah, metode ini menentukan apakah akan mengunggahnya dalam satu operasi atau menggunakan API unggahan multipart untuk mengunggah arsip dalam beberapa bagian.

### Contoh: Mengunggah Arsip Menggunakan API Tingkat Tinggi AWS SDK untuk Java
<a name="upload-archive-high-level-java-example"></a>

Contoh kode Java berikut mengunggah arsip ke vault (`examplevault`) di Wilayah US West (Oregon) (`us-west-2`). Untuk daftar AWS Wilayah dan titik akhir yang didukung, lihat[Mengakses Amazon Glacier](amazon-glacier-accessing.md). 

Untuk step-by-step petunjuk tentang cara menjalankan contoh ini, lihat[Menjalankan Contoh Java untuk Amazon Glacier Menggunakan Eclipse](using-aws-sdk-for-java.md#setting-up-and-testing-sdk-java). Anda perlu memperbarui kode seperti yang ditunjukkan dengan nama vault yang ingin Anda unggah dan nama file yang ingin Anda unggah.

**Example**  

```
import java.io.File;
import java.io.IOException;
import java.util.Date;

import com.amazonaws.auth.profile.ProfileCredentialsProvider;
import com.amazonaws.services.glacier.AmazonGlacierClient;
import com.amazonaws.services.glacier.transfer.ArchiveTransferManager;
import com.amazonaws.services.glacier.transfer.UploadResult;


public class ArchiveUploadHighLevel {
    public static String vaultName = "*** provide vault name ***";
    public static String archiveToUpload = "*** provide name of file to upload ***";
    
    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-west-2.amazonaws.com/");

        try {
            ArchiveTransferManager atm = new ArchiveTransferManager(client, credentials);
            
            UploadResult result = atm.upload(vaultName, "my archive " + (new Date()), new File(archiveToUpload));
            System.out.println("Archive ID: " + result.getArchiveId());
            
        } catch (Exception e)
        {
            System.err.println(e);
        }
    }
}
```

## Mengunggah Arsip dalam Satu Operasi Menggunakan API Tingkat Rendah AWS SDK untuk Java
<a name="uploading-an-archive-single-op-low-level-using-java"></a>

API tingkat rendah menyediakan metode untuk semua operasi arsip. Berikut adalah langkah-langkah untuk mengunggah arsip menggunakan AWS SDK untuk Java.

 

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

   Anda perlu menentukan AWS Wilayah tempat Anda ingin mengunggah arsip. Semua operasi yang Anda lakukan menggunakan klien ini berlaku untuk AWS Wilayah tersebut. 

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

   Selain data yang ingin Anda unggah, Anda perlu menyediakan checksum (hash pohon SHA-256) dari muatan, nama vault, panjang konten data, 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 `uploadArchive` dengan menyediakan objek permintaan sebagai parameter. 

   Sebagai tanggapan, Amazon Glacier (Amazon Glacier) mengembalikan ID arsip dari arsip yang baru diunggah. 

Potongan kode Java berikut menggambarkan langkah-langkah sebelumnya. 

```
AmazonGlacierClient client;

UploadArchiveRequest request = new UploadArchiveRequest()
    .withVaultName("*** provide vault name ***")
    .withChecksum(checksum)
    .withBody(new ByteArrayInputStream(body))
    .withContentLength((long)body.length);

UploadArchiveResult uploadArchiveResult = client.uploadArchive(request);

System.out.println("Location (includes ArchiveID): " + uploadArchiveResult.getLocation());
```

### Contoh: Mengunggah Arsip dalam Operasi Tunggal Menggunakan API Tingkat Rendah AWS SDK untuk Java
<a name="uploding-single-archive-using-java-example"></a>

Contoh kode Java berikut menggunakan AWS SDK untuk Java untuk mengunggah arsip ke vault (`examplevault`). Untuk step-by-step petunjuk tentang cara menjalankan contoh ini, lihat[Menjalankan Contoh Java untuk Amazon Glacier Menggunakan Eclipse](using-aws-sdk-for-java.md#setting-up-and-testing-sdk-java). Anda perlu memperbarui kode seperti yang ditunjukkan dengan nama vault yang ingin Anda unggah dan nama file yang ingin Anda unggah.

```
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;

import com.amazonaws.auth.profile.ProfileCredentialsProvider;
import com.amazonaws.services.glacier.AmazonGlacierClient;
import com.amazonaws.services.glacier.TreeHashGenerator;
import com.amazonaws.services.glacier.model.UploadArchiveRequest;
import com.amazonaws.services.glacier.model.UploadArchiveResult;
public class ArchiveUploadLowLevel {

    public static String vaultName = "*** provide vault name ****";
    public static String archiveFilePath = "*** provide to file upload ****";
    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/");

        try {
            // First open file and read.
            File file = new File(archiveFilePath);
            InputStream is = new FileInputStream(file); 
            byte[] body = new byte[(int) file.length()];
            is.read(body);
                                    
            // Send request.
            UploadArchiveRequest request = new UploadArchiveRequest()
                .withVaultName(vaultName)
                .withChecksum(TreeHashGenerator.calculateTreeHash(new File(archiveFilePath))) 
                .withBody(new ByteArrayInputStream(body))
                .withContentLength((long)body.length);
            
            UploadArchiveResult uploadArchiveResult = client.uploadArchive(request);
            
            System.out.println("ArchiveID: " + uploadArchiveResult.getArchiveId());
            
        } catch (Exception e)
        {
            System.err.println("Archive not uploaded.");
            System.err.println(e);
        }
    }
}
```

# Mengunggah Arsip dalam Satu Operasi Menggunakan Amazon Glacier AWS SDK untuk .NET di Amazon
<a name="uploading-an-archive-single-op-using-dotnet"></a>

Baik [tingkat tinggi dan tingkat rendah](using-aws-sdk.md) yang APIs disediakan oleh Amazon SDK untuk.NET menyediakan metode untuk mengunggah arsip dalam satu operasi.

**Topics**
+ [Mengunggah Arsip Menggunakan API Tingkat Tinggi AWS SDK untuk .NET](#uploading-an-archive-single-op-highlevel-using-dotnet)
+ [Mengunggah Arsip dalam Operasi Tunggal Menggunakan API Tingkat Rendah AWS SDK untuk .NET](#uploading-an-archive-single-op-lowlevel-using-dotnet)

## Mengunggah Arsip Menggunakan API Tingkat Tinggi AWS SDK untuk .NET
<a name="uploading-an-archive-single-op-highlevel-using-dotnet"></a>

Kelas `ArchiveTransferManager` dari API tingkat tinggi menyediakan metode `Upload` yang dapat Anda gunakan untuk mengunggah arsip ke vault. 

**catatan**  
Anda dapat menggunakan metode `Upload` untuk mengunggah file kecil atau besar. Bergantung pada ukuran file yang Anda unggah, metode ini menentukan apakah akan mengunggahnya dalam satu operasi atau menggunakan API unggahan multipart untuk mengunggah file dalam beberapa bagian.

### Contoh: Mengunggah Arsip Menggunakan API Tingkat Tinggi AWS SDK untuk .NET
<a name="upload-archive-highlevel-any-size-dotnet"></a>

Contoh kode C\$1 berikut mengunggah arsip ke vault (`examplevault`) di Wilayah US West (Oregon). 

Untuk step-by-step petunjuk tentang cara menjalankan contoh ini, 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 file yang ingin Anda unggah.

**Example**  

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

namespace glacier.amazon.com.rproxy.govskope.us.docsamples
{
  class ArchiveUploadHighLevel
  {
    static string vaultName = "examplevault"; 
    static string archiveToUpload = "*** Provide file name (with full path) to upload ***";

    public static void Main(string[] args)
    {
       try
      {
         var manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USWest2);
         // Upload an archive.
         string archiveId = manager.Upload(vaultName, "upload archive test", archiveToUpload).ArchiveId;
         Console.WriteLine("Archive ID: (Copy and save this ID for use in other examples.) : {0}", archiveId);
         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); }
      Console.WriteLine("To continue, press Enter");
      Console.ReadKey();
    }
  }
}
```

## Mengunggah Arsip dalam Operasi Tunggal Menggunakan API Tingkat Rendah AWS SDK untuk .NET
<a name="uploading-an-archive-single-op-lowlevel-using-dotnet"></a>

API tingkat rendah menyediakan metode untuk semua operasi arsip. Berikut adalah langkah-langkah untuk mengunggah arsip menggunakan AWS SDK untuk .NET.

 

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

   Anda perlu menentukan AWS Wilayah tempat Anda ingin mengunggah arsip. Semua operasi yang Anda lakukan menggunakan klien ini berlaku untuk AWS Wilayah tersebut. 

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

   Selain data yang ingin Anda unggah, Anda perlu menyediakan checksum (hash pohon SHA-256) dari muatan, 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 `UploadArchive` dengan menyediakan objek permintaan sebagai parameter. 

   Sebagai tanggapan, Amazon Glacier mengembalikan ID arsip dari arsip yang baru diunggah. 

### Contoh: Mengunggah Arsip dalam Operasi Tunggal Menggunakan API Tingkat Rendah AWS SDK untuk .NET
<a name="upload-archive-single-op-lowlevel-dotnet"></a>

Contoh kode \$1C berikut menjelaskan langkah sebelumnya. Contoh menggunakan file AWS SDK untuk .NET untuk mengunggah arsip ke vault (`examplevault`). 

**catatan**  
Untuk informasi tentang REST API yang mendasarinya guna mengunggah arsip dalam satu permintaan, lihat [Mengunggah Arsip (POST archive)](api-archive-post.md).

Untuk step-by-step petunjuk tentang cara menjalankan contoh ini, 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 file yang ingin Anda unggah.

**Example**  

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

namespace glacier.amazon.com.rproxy.govskope.us.docsamples
{
  class ArchiveUploadSingleOpLowLevel
  {
    static string vaultName       = "examplevault";
    static string archiveToUpload = "*** Provide file name (with full path) to upload ***";

    public static void Main(string[] args)
    {
      AmazonGlacierClient client;
      try
      {
         using (client = new AmazonGlacierClient(Amazon.RegionEndpoint.USWest2))
        {
          Console.WriteLine("Uploading an archive.");
          string archiveId = UploadAnArchive(client);
          Console.WriteLine("Archive ID: {0}", archiveId);
        }
      }
      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 string UploadAnArchive(AmazonGlacierClient client)
    {
      using (FileStream fileStream = new FileStream(archiveToUpload, FileMode.Open, FileAccess.Read))
      {
        string treeHash = TreeHashGenerator.CalculateTreeHash(fileStream);
        UploadArchiveRequest request = new UploadArchiveRequest()
        {
          VaultName = vaultName,
          Body = fileStream,
          Checksum = treeHash
        };
        UploadArchiveResponse response = client.UploadArchive(request);
        string archiveID = response.ArchiveId;
        return archiveID;
      }
    }
  }
}
```

# Mengunggah Arsip dalam Satu Operasi Menggunakan REST API
<a name="uploading-an-archive-single-op-using-rest"></a>

Anda dapat menggunakan panggilan API Unggah Arsip untuk mengunggah arsip dalam satu operasi. Lihat informasi yang lebih lengkap di [Mengunggah Arsip (POST archive)](api-archive-post.md).