Utilizzo di AWS SDK for .NET con Amazon S3 Glacier - Amazon S3 Glacier

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

Se stai cercando soluzioni di archiviazione, ti consigliamo di utilizzare le classi di storage S3 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 S3 Glacier e lo storage dei dati a lungo termine con le classi di storage S3 Glacier nella Amazon S3 User Guide. Queste classi di storage utilizzano Amazon S3API, sono disponibili in tutte le regioni e possono essere gestite all'interno della console Amazon S3. Offrono funzionalità come Storage Cost Analysis, Storage Lens, funzionalità di crittografia opzionali avanzate e altro ancora.

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 for .NET con Amazon S3 Glacier

L'API AWS SDK for .NET è disponibile in AWSSDK.dll. Per informazioni sul download di AWS SDK for .NET, consulta Librerie e codice di esempio. Come descritto in Utilizzo degli AWS SDK con Amazon S3 Glacier, il kit AWS SDK for .NET fornisce API di alto livello e di basso livello.

Nota

Queste API di basso e alto livello forniscono client sicuri per l'accesso a S3 Glacier. Come best practice, le tue applicazioni devono creare un client e riutilizzarlo tra i thread.

Utilizzo dell'API di basso livello

La classe AmazonGlacierClient di basso livello fornisce tutti i metodi che eseguono la mappatura alle operazioni REST sottostanti di Amazon S3 Glacier (S3 Glacier) (Documentazione di riferimento dell'API per Amazon S3 Glacier). Quando chiami uno di questi metodi, devi creare un oggetto di richiesta corrispondente e fornire un oggetto di risposta in cui il metodo può restituire una risposta di S3 Glacier all'operazione.

Ad esempio, la classe AmazonGlacierClient fornisce il metodo CreateVault per creare un vault. Questo metodo esegue la mappatura all'operazione REST Create Vault sottostante (vedi Create Vault (PUT vault)). Per utilizzare questo metodo, devi creare istanze delle classi CreateVaultRequest e CreateVaultResponse per fornire informazioni sulla richiesta e ricevere una risposta di S3 Glacier come mostrato nel seguente frammento di codice C#:

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 kit AWS SDK for .NET, il valore AccountId nella richiesta è facoltativo e di conseguenza tutti gli esempi di basso livello in questa guida non impostano tale valore. AccountId è l'ID di Account AWS. Questo valore deve corrispondere all'ID dell'Account AWS associato alle credenziali utilizzate per firmare la richiesta. Puoi specificare l'ID Account AWS o eventualmente un "-" (trattino), nel qual caso S3 Glacier utilizza l'ID Account AWS associato alle credenziali utilizzate per firmare la richiesta. Se specifichi l'ID del tuo account, non includere trattini nell'ID. Quando utilizzi il kit AWS SDK for .NET, se non fornisci l'ID dell'account, la libreria lo imposta su "-".

Utilizzo dell'API di alto livello

Per semplificare ulteriormente lo sviluppo di applicazioni, il kit AWS SDK for .NET fornisce la classe ArchiveTransferManager che implementa un'astrazione di livello più alto per alcuni dei metodi nell'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# 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 qualsiasi operazione eseguita viene applicata alla regione AWS che hai specificato alla creazione dell'oggetto ArchiveTransferManager. Tutti gli esempi di alto livello in questa guida utilizzano questo pattern.

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

Il modo più semplice di iniziare a utilizzare i codici di esempio .NET è installare l'AWS SDK for .NET. Per ulteriori informazioni, consulta Amazon SDK per .NET.

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

1

Crea un profilo per le credenziali AWS, come descritto nell'argomento di Amazon SDK per .NET Configurazione delle credenziali AWS.

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

Esegui il codice. Verificare l'avvenuta creazione dell'oggetto utilizzando la AWS Management Console. Per ulteriori informazioni su AWS Management Console, visita https://aws.amazon.com/console/.

Impostazione dell'endpoint

Per impostazione predefinita, AWS SDK for .NET imposta l'endpoint sulla regione Stati Uniti occidentali (Oregon) (https://glacier.us-west-2.amazonaws.com). Puoi impostare l'endpoint su altre regioni AWS come mostrato nei frammenti di codice C# seguenti.

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

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 corrente delle regioni AWS e degli endpoint supportati, consulta Accesso ad Amazon S3 Glacier.