Usando il AWS SDK for Java - Amazon Simple Storage Service

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

Usando il AWS SDK for Java

AWS SDK for Java Fornisce un'API per il bucket Amazon S3 e le operazioni sugli oggetti. Per le operazioni con oggetti, oltre a fornire l'API per il caricamento di oggetti in un'unica operazione, l'SDK fornisce un'API per caricare in parti oggetti di grandi dimensioni. Per ulteriori informazioni, consulta Caricamento e copia di oggetti utilizzando il caricamento in più parti.

Ti AWS SDK for Java dà la possibilità di utilizzare un'API di alto o basso livello.

API di basso livello

Le API di basso livello corrispondono alle operazioni REST Amazon S3 sottostanti, ad esempio le operazioni di creazione, aggiornamento ed eliminazione valide per bucket e oggetti. Quando vengono caricati oggetti di grandi dimensioni utilizzando l'API di caricamento in più parti di basso livello, sarà disponibile un maggiore controllo. Ad esempio, l'API consente di mettere in pausa e riprendere i caricamenti in più parti, variare le dimensioni in fase di caricamento o avviare il caricamento quando non si conosce anticipatamente la dimensione dei dati. In assenza di queste esigenze, utilizzare l'API di alto livello per il caricamento di oggetti.

API di alto livello

Per il caricamento di oggetti, l'SDK fornisce un elevato livello di astrazione tramite la classe TransferManager. L'API di alto livello è più semplice e consente di caricare file e flussi su Amazon S3 con poche righe di codice. Se non è necessario controllare il caricamento (come descritto nella sezione precedente sull'API di basso livello), è consigliabile utilizzare questa API per caricare i dati.

Per dati di dimensioni minori, l'API TransferManager procede al caricamento in un'unica operazione. Se invece i dati raggiungono una determinata soglia, TransferManager passa a utilizzare l'API per il caricamento in più parti. Quando possibile, TransferManager utilizza più thread per caricare le parti simultaneamente. Se si verificano errori nel caricamento di una parte, l'API riprova a eseguirlo fino a tre volte. Si tratta comunque di opzioni configurabili tramite la classe TransferManagerConfiguration.

Nota

Se l'origine dei dati è costituita da un flusso, la classe TransferManager non esegue caricamenti simultanei.

Organizzazione dell'API per Java

I seguenti pacchetti AWS SDK for Java forniscono l'API:

  • com.amazonaws.services.s3: rende disponibili le API per la creazione di client Amazon S3 e l'utilizzo di bucket e oggetti. Ad esempio, consente di creare bucket, caricare, estrarre ed eliminare oggetti ed elencare chiavi.

  • com.amazonaws.services.s3.transfer: fornisce l'API di alto livello per le operazioni sui dati.

    Questa API di alto livello è progettata per semplificare il trasferimento di oggetti verso e da Amazon S3. Include la classe TransferManager, che fornisce metodi asincroni per l'utilizzo, l'esecuzione di query e la manipolazione dei trasferimenti. Include anche la classe TransferManagerConfiguration con cui è possibile configurare le dimensioni minime delle parti per il caricamento e la soglia in byte oltre la quale utilizzare il caricamento in più parti.

  • com.amazonaws.services.s3.model: fornisce le classi dell'API di basso livello per creare richieste ed elaborare le risposte. Ad esempio, include la classe GetObjectRequest per descrivere la richiesta di estrazione di un oggetto, la classe ListObjectsRequest per descrivere le richieste di chiavi di elenco e la classe InitiateMultipartUploadRequest per creare caricamenti in più parti.

Per ulteriori informazioni sull' AWS SDK for Java API, consulta AWS SDK for Java API Reference.

Test degli esempi di codice Java di Amazon S3

Gli esempi Java in questa guida sono compatibili con la AWS SDK for Java versione 1.11.321. Per istruzioni sulla configurazione e l'esecuzione di esempi di codice, consulta Getting Started nella Developer Guide. AWS SDK for Java