Questa pagina è riservata ai clienti esistenti del servizio S3 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 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
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 Java con Amazon S3 Glacier
AWS SDK for Java fornisce API di alto e basso livello per Amazon S3 Glacier (S3 Glacier), come descritto in Utilizzo degli AWS SDK con Amazon S3 Glacier. Per ulteriori informazioni sul download di AWS SDK for Java, consulta Amazon SDK per Java
Nota
AWS SDK for Java fornisce client sicuri per l'accesso a S3 Glacier. Come best practice, le tue applicazioni devono creare un client e riutilizzarlo tra i thread.
Argomenti
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 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 la 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 dell'oggetto CreateVaultResult
che riceve la risposta di S3 Glacier come mostrato nel seguente frammento di codice Java:
AmazonGlacierClient client = new AmazonGlacierClient(credentials); client.setEndpoint("https://glacier.us-west-2.amazonaws.com/"); CreateVaultRequest request = new CreateVaultRequest() .withAccountId("-") .withVaultName(vaultName); CreateVaultResult result = client.createVault(createVaultRequest);
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 Java, 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 Java, 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 Java 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 Java seguente utilizza il metodo upload
di alto livello per caricare un archivio.
String vaultName = "examplevault"; String archiveToUpload = "c:/folder/exampleArchive.zip"; ArchiveTransferManager atm = new ArchiveTransferManager(client, credentials); String archiveId = atm.upload(vaultName, "Tax 2012 documents", new File(archiveToUpload)).getArchiveId();
Nota che qualsiasi operazione eseguita viene applicata alla regione AWS che hai specificato alla creazione dell'oggetto ArchiveTransferManager
. Se non specifichi alcuna regione AWS, AWS SDK for Java imposta us-east-1
come regione AWS predefinita.
Tutti gli esempi di alto livello in questa guida utilizzano questo pattern.
Nota
La classe ArchiveTransferManager
di alto livello può essere creata con un'istanza AmazonGlacierClient
o AWSCredentials
.
Esecuzione di esempi Java per Amazon S3 Glacier mediante Eclipse
Il modo più semplice di iniziare a utilizzare i codici di esempio Java è installare l'ultima versione di AWS Toolkit for Eclipse. Per informazioni sull'installazione del toolkit più recente o sull'aggiornamento all'ultima versione, visita http://aws.amazon.com/eclipse
1 |
Crea un profilo credenziali predefinito per le credenziali AWS, come descritto nell'argomento AWS SDK for Java dal titolo Fornire credenziali AWS in Amazon SDK per Java. |
2 |
Crea un nuovo Progetto Java AWS in Eclipse. Il progetto è pre-configurato con l'AWS SDK for Java. |
3 |
Copiare il codice dalla sezione che si sta leggendo nel progetto. |
4 |
Aggiornare il codice con i dati eventualmente richiesti. Ad esempio, per il caricamento di un file, indicare il percorso del file e il nome del bucket. |
5 |
Esegui il codice. Verificare l'avvenuta creazione dell'oggetto utilizzando la AWS Management Console. Per ulteriori informazioni sulla AWS Management Console, visita il sito http://aws.amazon.com/console/ |
Impostazione dell'endpoint
Per impostazione predefinita, il kit AWS SDK for Java utilizza l'endpoint https://glacier.us-east-1.amazonaws.com
. Puoi impostare l'endpoint in modo esplicito come illustrato nei frammenti di codice Java in questa sezione.
Il frammento seguente mostra come impostare l'endpoint sulla regione Stati Uniti occidentali (Oregon) (us-west-2
) nell'API di basso livello.
client = new AmazonGlacierClient(credentials); client.setEndpoint("glacier.us-west-2.amazonaws.com");
Il frammento seguente mostra come impostare l'endpoint sulla regione Stati Uniti occidentali (Oregon) nell'API di alto livello.
glacierClient = new AmazonGlacierClient(credentials); sqsClient = new AmazonSQSClient(credentials); snsClient = new AmazonSNSClient(credentials); glacierClient.setEndpoint("glacier.us-west-2.amazonaws.com"); sqsClient.setEndpoint("sqs.us-west-2.amazonaws.com"); snsClient.setEndpoint("sns.us-west-2.amazonaws.com"); ArchiveTransferManager atm = new ArchiveTransferManager(glacierClient, sqsClient, snsClient);
Per un elenco delle regioni AWS e degli endpoint supportati, consulta Accesso ad Amazon S3 Glacier.