

 **Questa pagina è riservata ai clienti esistenti del servizio Amazon Glacier che utilizzano Vaults e l'API REST originale del 2012.**

Se stai cercando soluzioni di archiviazione, ti consigliamo di utilizzare le classi di storage Amazon Glacier in Amazon S3, S3 Glacier Instant Retrieval, S3 Glacier Flexible Retrieval e S3 Glacier Deep Archive. Per ulteriori informazioni su queste opzioni di storage, consulta le classi di storage di [Amazon Glacier](https://aws.amazon.com/s3/storage-classes/glacier/).

Amazon Glacier (servizio autonomo originale basato su vault) non accetta più nuovi clienti. Amazon Glacier è un servizio APIs autonomo che archivia i dati in vault ed è distinto dalle classi di storage Amazon S3 e Amazon S3 Glacier. I dati esistenti rimarranno sicuri e accessibili in Amazon Glacier a tempo indeterminato. Non è richiesta alcuna migrazione. Per uno storage di archiviazione a lungo termine a basso costo, AWS consiglia le classi di storage [Amazon S3 Glacier](https://aws.amazon.com/s3/storage-classes/glacier/), che offrono un'esperienza cliente superiore con disponibilità Regione AWS completa, costi inferiori e integrazione dei servizi APIs basata su bucket S3. AWS Se desideri funzionalità avanzate, prendi in considerazione la migrazione alle classi di storage Amazon S3 Glacier utilizzando la [AWS nostra Solutions Guidance per il trasferimento di dati dai vault Amazon Glacier alle classi di storage Amazon S3 Glacier](https://aws.amazon.com/solutions/guidance/data-transfer-from-amazon-s3-glacier-vaults-to-amazon-s3/).

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Caricamento di un archivio in un'unica operazione


Come descritto in [Caricamento di un archivio in Amazon Glacier](uploading-an-archive.md), puoi caricare archivi di dimensioni ridotte in un'unica operazione. Tuttavia, incoraggiamo i clienti di Amazon Glacier (Amazon Glacier) a utilizzare Multipart Upload per caricare archivi di dimensioni superiori a 100 MB. 

**Topics**
+ [

# Caricamento di un archivio in un'unica operazione utilizzando il AWS Command Line Interface
](uploading-an-archive-single-op-using-cli.md)
+ [

# Caricamento di un archivio in un'unica operazione utilizzando AWS SDK per Java
](uploading-an-archive-single-op-using-java.md)
+ [

# Caricamento di un archivio in un'unica operazione utilizzando Amazon AWS SDK per .NET Glacier
](uploading-an-archive-single-op-using-dotnet.md)
+ [

# Caricamento di un archivio in un'unica operazione mediante l'API REST
](uploading-an-archive-single-op-using-rest.md)

# Caricamento di un archivio in un'unica operazione utilizzando il AWS Command Line Interface
Caricamento di un archivio in un'unica operazione utilizzando il AWS CLI

Puoi caricare un archivio in Amazon Glacier (Amazon Glacier) utilizzando (). AWS Command Line Interface AWS CLI

**Topics**
+ [

## (Prerequisito) Configurazione di AWS CLI
](#Creating-Vaults-CLI-Setup)
+ [

## Esempio: caricare un archivio utilizzando il AWS CLI
](#Uploading-Archives-CLI-Implementation)

## (Prerequisito) Configurazione di AWS CLI


1. Scarica e configura la AWS CLI. Per le istruzioni, consulta i seguenti argomenti nella *Guida per l'utente dell'AWS Command Line Interface *: 

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

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

1. Verifica la AWS CLI configurazione inserendo i seguenti comandi al prompt dei comandi. Poiché entrambi questi comandi non forniscono credenziali in modo esplicito, vengono utilizzate le credenziali del profilo predefinito.
   + Prova a utilizzare il comando help.

     ```
     aws help
     ```
   + Per ottenere un elenco dei vault Amazon Glacier sull'account configurato, usa il comando. `list-vaults` Sostituiscilo *123456789012* con il tuo ID. Account AWS 

     ```
     aws glacier list-vaults --account-id 123456789012
     ```
   + Per vedere i dati di configurazione correnti per AWS CLI, usa il `aws configure list` comando.

     ```
     aws configure list
     ```

## Esempio: caricare un archivio utilizzando il AWS CLI


Per caricare un archivio è necessario creare una vault. Per ulteriori informazioni sulla creazione di vault, consulta [Creazione di un vault in Amazon Glacier](creating-vaults.md).

1. Utilizza il comando `upload-archive` per aggiungere un archivio a una vault esistente. Nell'esempio seguente sostituisci `vault name` e `account ID`. Per il parametro `body`, specifica il percorso del file che desideri caricare.

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

1.  Output previsto:

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

   Al termine, il comando restituirà l'ID dell'archivio, il checksum e la posizione in Amazon Glacier. Per ulteriori informazioni sul comando upload-archive, consulta [upload-archive](https://docs.aws.amazon.com/cli/latest/reference/glacier/upload-archive.html) nel *Riferimento ai comandi AWS CLI *.

# Caricamento di un archivio in un'unica operazione utilizzando AWS SDK per Java
Caricamento di un archivio in un'unica operazione mediante Java

Sia il [livello alto che quello di basso livello APIs](using-aws-sdk.md) forniti da Amazon SDK for Java forniscono un metodo per caricare un archivio.

**Topics**
+ [

## Caricamento di un archivio utilizzando l'API di alto livello di AWS SDK per Java
](#uploading-an-archive-single-op-high-level-using-java)
+ [

## Caricamento di un archivio in un'unica operazione utilizzando l'API di basso livello di AWS SDK per Java
](#uploading-an-archive-single-op-low-level-using-java)

## Caricamento di un archivio utilizzando l'API di alto livello di AWS SDK per Java


La classe `ArchiveTransferManager` dell'API di alto livello fornisce il metodo `upload` che puoi utilizzare per caricare un archivio in una vault.

 

**Nota**  
Il metodo `upload` ti consente di caricare archivi di qualsiasi dimensione. A seconda della dimensione dell'archivio, determina se questo deve essere caricato in un'unica operazione oppure mediante un caricamento in più parti con l'API corrispondente.

### Esempio: caricamento di un archivio utilizzando l'API di alto livello di AWS SDK per Java


L'esempio di codice Java seguente carica un archivio in una vault (`examplevault`) nella regione Stati Uniti occidentali (Oregon) (`us-west-2`). Per un elenco delle AWS regioni e degli endpoint supportati, consulta. [Accesso ad Amazon Glacier](amazon-glacier-accessing.md) 

Per step-by-step istruzioni su come eseguire questo esempio, consulta[Esecuzione di esempi Java per Amazon Glacier con Eclipse](using-aws-sdk-for-java.md#setting-up-and-testing-sdk-java). Devi aggiornare il codice con il nome della vault in cui intendi effettuare il caricamento e il nome del file da caricare come indicato.

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

## Caricamento di un archivio in un'unica operazione utilizzando l'API di basso livello di AWS SDK per Java


L'interfaccia API di basso livello fornisce metodi per tutte le operazioni di archivio. Di seguito è riportata la procedura per caricare un archivio mediante il kit AWS SDK per Java.

 

1. Crea un'istanza della classe `AmazonGlacierClient` (client). 

   È necessario specificare una AWS regione in cui si desidera caricare l'archivio. Tutte le operazioni eseguite utilizzando questo client si applicano a quella AWS regione. 

1. Fornisci informazioni sulla richiesta creando un'istanza della classe `UploadArchiveRequest`.

   Oltre ai dati da caricare, devi fornire un checksum (struttura hash SHA-256) del payload, il nome della vault, la lunghezza del contenuto dei dati e l'ID del tuo account. 

   Se non specifichi un ID account, viene utilizzato l'ID account associato alle credenziali che hai fornito per firmare la richiesta. Per ulteriori informazioni, consulta [Utilizzo di AWS SDK per Java con Amazon Glacier](using-aws-sdk-for-java.md). 

1. Eseguire il metodo `uploadArchive` fornendo l'oggetto della richiesta come parametro. 

   In risposta, Amazon Glacier (Amazon Glacier) restituisce un ID di archivio dell'archivio appena caricato. 

Il seguente frammento di codice Java illustra la procedura precedente. 

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

### Esempio: caricamento di un archivio in un'unica operazione utilizzando l'API di basso livello del AWS SDK per Java


Il seguente esempio di codice Java utilizza il AWS SDK per Java per caricare un archivio in un vault (). `examplevault` Per step-by-step istruzioni su come eseguire questo esempio, vedere[Esecuzione di esempi Java per Amazon Glacier con Eclipse](using-aws-sdk-for-java.md#setting-up-and-testing-sdk-java). Devi aggiornare il codice con il nome della vault in cui intendi effettuare il caricamento e il nome del file da caricare come indicato.

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

# Caricamento di un archivio in un'unica operazione utilizzando Amazon AWS SDK per .NET Glacier
Caricamento di un archivio in un'unica operazione mediante .NET

Sia il [livello alto che quello di basso livello APIs](using-aws-sdk.md) forniti da Amazon SDK for .NET forniscono un metodo per caricare un archivio in un'unica operazione.

**Topics**
+ [

## Caricamento di un archivio utilizzando l'API di alto livello di AWS SDK per .NET
](#uploading-an-archive-single-op-highlevel-using-dotnet)
+ [

## Caricamento di un archivio in un'unica operazione utilizzando l'API di basso livello di AWS SDK per .NET
](#uploading-an-archive-single-op-lowlevel-using-dotnet)

## Caricamento di un archivio utilizzando l'API di alto livello di AWS SDK per .NET


La classe `ArchiveTransferManager` dell'API di alto livello fornisce il metodo `Upload` che puoi utilizzare per caricare un archivio in una vault. 

**Nota**  
Il metodo `Upload` ti consente di caricare file di qualsiasi dimensione. A seconda della dimensione del file, determina se questo deve essere caricato in un'unica operazione oppure mediante un caricamento in più parti con l'API corrispondente.

### Esempio: caricamento di un archivio utilizzando l'API di alto livello di AWS SDK per .NET


L'esempio di codice C\$1 seguente carica un archivio in una vault (`examplevault`) nella regione Stati Uniti occidentali (Oregon). 

Per step-by-step istruzioni su come eseguire questo esempio, consulta. [Esecuzione di esempi di codice](using-aws-sdk-for-dot-net.md#setting-up-and-testing-sdk-dotnet) Devi aggiornare il codice con il nome del file che intendi caricare come indicato.

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

## Caricamento di un archivio in un'unica operazione utilizzando l'API di basso livello di AWS SDK per .NET


L'interfaccia API di basso livello fornisce metodi per tutte le operazioni di archivio. Di seguito è riportata la procedura per caricare un archivio mediante il kit AWS SDK per .NET.

 

1. Crea un'istanza della classe `AmazonGlacierClient` (client). 

   È necessario specificare una AWS regione in cui si desidera caricare l'archivio. Tutte le operazioni eseguite utilizzando questo client si applicano a quella AWS regione. 

1. Fornisci informazioni sulla richiesta creando un'istanza della classe `UploadArchiveRequest`.

   Oltre ai dati da caricare, devi fornire un checksum (struttura hash SHA-256) del payload, il nome della vault e l'ID del tuo account. 

   Se non specifichi un ID account, viene utilizzato l'ID account associato alle credenziali che hai fornito per firmare la richiesta. Per ulteriori informazioni, consulta [Utilizzo di AWS SDK per .NET con Amazon Glacier](using-aws-sdk-for-dot-net.md). 

1. Eseguire il metodo `UploadArchive` fornendo l'oggetto della richiesta come parametro. 

   In risposta, Amazon Glacier restituisce un ID di archivio dell'archivio appena caricato. 

### Esempio: caricamento di un archivio in un'unica operazione utilizzando l'API di basso livello del AWS SDK per .NET


L'esempio di codice C\$1 seguente illustra la procedura precedente. L'esempio utilizza AWS SDK per .NET per caricare un archivio in un vault (). `examplevault` 

**Nota**  
Per informazioni sull'utilizzo dell'API REST sottostante per caricare un archivio in un'unica richiesta, consulta [Upload Archive (POST archive)](api-archive-post.md).

Per step-by-step istruzioni su come eseguire questo esempio, vedi[Esecuzione di esempi di codice](using-aws-sdk-for-dot-net.md#setting-up-and-testing-sdk-dotnet). Devi aggiornare il codice con il nome del file che intendi caricare come indicato.

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

# Caricamento di un archivio in un'unica operazione mediante l'API REST
Caricamento di un archivio in un'unica operazione mediante REST

Puoi utilizzare la chiamata API Upload Archive per caricare un archivio in un'unica operazione. Per ulteriori informazioni, consulta [Upload Archive (POST archive)](api-archive-post.md).