

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

# Utilizzo di AWS SDK per .NET con Amazon Glacier
<a name="using-aws-sdk-for-dot-net"></a>

L' AWS SDK per .NET API è disponibile in. `AWSSDK.dll` Per informazioni sul download di AWS SDK per .NET, vai a [Sample Code Libraries](https://aws.amazon.com/sdkfornet/). Come descritto in[Utilizzo di AWS SDKs con Amazon Glacier](using-aws-sdk.md), AWS SDK per .NET fornisce sia il livello alto che quello basso APIs. 

**Nota**  
L'API di basso livello e l'API di alto livello forniscono client thread-safe per l'accesso ad Amazon Glacier. Come best practice, le tue applicazioni dovrebbero creare un client e riutilizzarlo tra i thread.

**Topics**
+ [Utilizzo dell'API di basso livello](#about-low-level-dotnet-api)
+ [Utilizzo dell'API di alto livello](#about-high-level-dotnet-api)
+ [Esecuzione di esempi di codice](#setting-up-and-testing-sdk-dotnet)
+ [Impostazione dell'endpoint](#setting-sdk-dot-net-endpoint)

## Utilizzo dell'API di basso livello
<a name="about-low-level-dotnet-api"></a>

La `AmazonGlacierClient` classe di basso livello fornisce tutti i metodi associati alle operazioni REST sottostanti di Amazon Glacier (Amazon Glacier) (). [Riferimento API per Amazon Glacier](amazon-glacier-api.md) Quando chiami uno di questi metodi, devi creare un oggetto di richiesta corrispondente e fornire un oggetto di risposta in cui il metodo possa restituire una risposta Amazon Glacier all'operazione. 

Ad esempio, la classe `AmazonGlacierClient` fornisce il metodo `CreateVault` per creare una vault. Questo metodo esegue la mappatura all'operazione REST Create Vault sottostante (vedi [Create Vault (PUT vault)](api-vault-put.md)). Per utilizzare questo metodo, devi creare istanze delle `CreateVaultResponse` classi `CreateVaultRequest` and per fornire informazioni sulla richiesta e ricevere una risposta Amazon Glacier come mostrato nel seguente frammento di codice C\$1:

 

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

CreateVaultRequest request = new CreateVaultRequest()
{
  AccountId = "-",
  VaultName = "*** Provide vault name ***"
};

CreateVaultResponse response = client.CreateVault(request);
```

Tutti gli esempi di basso livello nella guida utilizzano questo modello. 

 

**Nota**  
Il segmento di codice precedente specifica `AccountId` quando si crea la richiesta. Tuttavia, quando si utilizza il AWS SDK per .NET, la `AccountId` nella richiesta è facoltativa e pertanto tutti gli esempi di basso livello in questa guida non impostano questo valore. `AccountId`Questo è l' Account AWS ID. Questo valore deve corrispondere all' Account AWS ID associato alle credenziali utilizzate per firmare la richiesta. Puoi specificare l' Account AWS ID o, facoltativamente, un «-», nel qual caso Amazon Glacier Account AWS utilizza l'ID associato alle credenziali utilizzate per firmare la richiesta. Se specifichi l'ID del tuo account, non includere trattini nell'ID. Quando si utilizza AWS SDK per .NET, se non si fornisce l'ID dell'account, la libreria imposta l'ID dell'account su '-'. 

## Utilizzo dell'API di alto livello
<a name="about-high-level-dotnet-api"></a>

Per semplificare ulteriormente lo sviluppo dell'applicazione, AWS SDK per .NET fornisce la `ArchiveTransferManager` classe che implementa un'astrazione di livello superiore per alcuni metodi dell'API di basso livello. Questa classe offre metodi utili, ad esempio `Upload` e `Download`, per le operazioni di archivio. 

Ad esempio, il frammento di codice C\$1 seguente utilizza il metodo `Upload` di alto livello per caricare un archivio. 

 

```
string vaultName = "examplevault";
string archiveToUpload = "c:\folder\exampleArchive.zip";

var manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USEast1);
string archiveId = manager.Upload(vaultName, "archive description", archiveToUpload).ArchiveId;
```

Nota che tutte le operazioni eseguite si applicano alla AWS regione specificata durante la creazione dell'oggetto. `ArchiveTransferManager` Tutti gli esempi di alto livello in questa guida utilizzano questo modello. 

 

**Nota**  
La classe `ArchiveTransferManager` di alto livello necessita ancora del client `AmazonGlacierClient` di basso livello, che puoi passare in modo esplicito, altrimenti `ArchiveTransferManager` crea il client.

## Esecuzione di esempi di codice
<a name="setting-up-and-testing-sdk-dotnet"></a>

Il modo più semplice di iniziare a utilizzare i codici di esempio .NET è installare l' AWS SDK per .NET. Per ulteriori informazioni, consulta [Amazon SDK per .NET](https://aws.amazon.com/sdkfornet/). 

La procedura seguente ti consente di testare gli esempi di codice forniti in questa guida.


**Procedura generale per la creazione di esempi di codice .NET (mediante Visual Studio)**  

|  |  | 
| --- |--- |
| 1 | [Crea un profilo di credenziali per AWS le tue credenziali come descritto nell'argomento Amazon SDK for .NET Configurazione delle credenziali. AWS](https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/creds-assign.html)  | 
| 2 |  Crea un nuovo progetto di Visual Studio utilizzando il modello *Progetto AWS vuoto*.   | 
| 3 | Sostituire il codice nel file di progetto, `Program.cs`, con il codice riportato nella sezione che si sta leggendo.  | 
| 4 |   Eseguire il codice. Verificare l'avvenuta creazione dell'oggetto utilizzando la Console di gestione AWS. [Per ulteriori informazioni su Console di gestione AWS, vai a http://aws.amazon.com/console/.](https://aws.amazon.com/console/)  | 

## Impostazione dell'endpoint
<a name="setting-sdk-dot-net-endpoint"></a>

Per impostazione predefinita, AWS SDK per .NET imposta l'endpoint sulla regione Stati Uniti occidentali (Oregon) (`https://glacier.us-west-2.amazonaws.com`). È possibile impostare l'endpoint su altre AWS regioni, come illustrato nei seguenti frammenti di C\$1.

Il frammento seguente mostra come impostare l'endpoint sulla regione Stati Uniti occidentali (Oregon) (`us-west-2`) nell'API di basso livello.

**Example**  

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

Il frammento seguente mostra come impostare l'endpoint sulla regione Stati Uniti occidentali (Oregon) nell'API di alto livello.

 

```
var manager = new ArchiveTransferManager(Amazon.RegionEndpoint.USWest2);
```

Per un elenco aggiornato delle AWS regioni e degli endpoint supportati, consulta. [Accesso ad Amazon Glacier](amazon-glacier-accessing.md)