Download di oggetti - Amazon Simple Storage Service

Download di oggetti

In questa sezione viene illustrato come scaricare oggetti da un bucket Amazon S3. Con Amazon S3, puoi archiviare oggetti in uno o più bucket e ogni singolo oggetto può avere dimensioni fino a 5 TB. Qualsiasi oggetto Amazon S3 non archiviato è accessibile in tempo reale. Gli oggetti archiviati, tuttavia, devono essere ripristinati prima di poter essere scaricati. Per ulteriori informazioni sul download di oggetti archiviati, consulta Download di oggetti archiviati.

Puoi scaricare un singolo oggetto utilizzando la console Amazon S3, AWS Command Line Interface (AWS CLI), gli AWS SDK o REST API di Amazon S3. Per scaricare un oggetto da S3 senza scrivere alcun codice o eseguire comandi, usa la console S3. Per ulteriori informazioni, consulta Download di un oggetto.

Per scaricare più oggetti, utilizza AWS CloudShell, AWS CLI o AWS SDK. Per ulteriori informazioni, consulta Download di più oggetti.

Se devi scaricare parte di un oggetto, utilizza parametri aggiuntivi con AWS CLI o REST API per specificare solo i byte che desideri scaricare. Per ulteriori informazioni, consulta Download di parte di un oggetto.

Se devi scaricare un oggetto di cui non sei il proprietario, chiedi al proprietario dell'oggetto di generare un URL prefirmato che ti consenta di scaricare l'oggetto. Per ulteriori informazioni, consulta Download di un oggetto da un altro Account AWS.

Quando scarichi oggetti al di fuori della rete AWS, vengono applicate le tariffe per il trasferimento di dati. Il trasferimento di dati all'interno della rete AWS è gratuito all'interno della stessa Regione AWS, ma eventuali richieste GET ti verranno addebitate. Per ulteriori informazioni sui costi del trasferimento dei dati e le tariffe di recupero dei dati, consulta Prezzi di Amazon S3.

Download di un oggetto

Puoi scaricare un singolo oggetto utilizzando la console Amazon S3, AWS CLI, AWS SDK o REST API.

In questa sezione viene illustrato come utilizzare la console Amazon S3 per scaricare un oggetto da un bucket S3.

Nota
  • Puoi scaricare un solo oggetto alla volta.

  • Se utilizzi la console di Amazon S3 per scaricare un oggetto il cui nome della chiave termina con un punto (.), il punto viene rimosso dal nome della chiave dell'oggetto scaricato. Per mantenere il punto alla fine del nome dell'oggetto scaricato, devi utilizzare AWS Command Line Interface (AWS CLI), gli AWS SDK o REST API di Amazon S3.

Per scaricare un oggetto da un bucket S3
  1. Accedi alla Console di gestione AWS e apri la console Amazon S3 all’indirizzo https://console.aws.amazon.com/s3/.

  2. Nel riquadro di navigazione a sinistra, scegli Bucket per uso generico o Bucket di directory.

  3. Nell’elenco dei bucket scegli il nome del bucket dal quale desideri scaricare un oggetto.

  4. È possibile scaricare un oggetto da un bucket S3 in uno qualsiasi dei modi seguenti:

    • Seleziona la casella di controllo accanto all'oggetto e scegli Scarica. Se desideri scaricare l'oggetto in una cartella specifica, nel menu Azioni, scegli Scarica come.

    • Se desideri scaricare una versione specifica dell'oggetto, attiva Mostra versioni (che si trova accanto alla casella di ricerca). Seleziona la casella di controllo accanto alla versione dell'oggetto desiderato e scegli Scarica. Se desideri scaricare l'oggetto in una cartella specifica, nel menu Azioni, scegli Scarica come.

L'esempio get-object seguente mostra come utilizzare la AWS CLI per scaricare un oggetto da Amazon S3. Questo comando recupera l'oggetto folder/my_image dal bucket amzn-s3-demo-bucket1. È necessario includere un outfile, che è un nome di file per l’oggetto scaricato, ad esempio my_downloaded_image.jpg.

aws s3api get-object --bucket amzn-s3-demo-bucket1 --key folder/my_image my_downloaded_image.jpg

Per ulteriori informazioni ed esempi, consulta get-object nella documentazione di riferimento dei comandi della AWS CLI.

Per esempi su come scaricare un oggetto con gli SDK AWS, consulta Esempi di codice nella documentazione di riferimento delle API di Amazon S3.

Per informazioni generali sull'utilizzo dei diversi SDK AWS, consulta Sviluppo con Amazon S3 utilizzando gli SDK AWS nella documentazione di riferimento delle API Amazon S3.

Puoi utilizzare REST API per recuperare oggetti da Amazon S3. Per ulteriori informazioni, consulta GetObject in Amazon Simple Storage Service API Reference (Guida di riferimento per l'API di Amazon Simple Storage Service).

Download di più oggetti

Puoi scaricare più oggetti utilizzando AWS CloudShell, AWS CLI o AWS SDK.

AWS CloudShell è una shell (interprete di comandi) pre-autenticata basata su browser che può essere avviata direttamente dalla Console di gestione AWS.

Per ulteriori informazioni su AWS CloudShell, consulta Cos'è CloudShell? nella Guida per l'utente di AWS CloudShell.

Importante

Con AWS CloudShell, la tua home directory ha uno spazio di archiviazione fino a 1 GB per Regione AWS. Pertanto non puoi sincronizzare i bucket con oggetti per un totale superiore a tale quantità. Per ulteriori limitazioni, consulta Service quotas e restrizioni nella Guida per l'utente di AWS CloudShell.

Per scaricare oggetti utilizzando AWS CloudShell
  1. Accedi alla Console di gestione AWS e apri la console CloudShell all'indirizzo https://console.aws.amazon.com/cloudshell/.

  2. Esegui il seguente comando per sincronizzare gli oggetti nel bucket con CloudShell. Il comando seguente sincronizza gli oggetti dal bucket denominato amzn-s3-demo-bucket1 e crea una cartella denominata in temp CloudShell. CloudShell sincronizza gli oggetti con questa cartella. Per utilizzare questo comando, sostituisci user input placeholders con le informazioni appropriate.

    aws s3 sync s3://amzn-s3-demo-bucket1 ./temp
    Nota

    Il comando sync non è compatibile con i bucket di directory.

    Per eseguire la corrispondenza del modello per escludere o includere oggetti particolari, puoi utilizzare i parametri --exclude "value" e --include "value" con il comando sync.

  3. Esegui il comando seguente per comprimere gli oggetti nella cartella denominata temp in un file denominato temp.zip.

    zip temp.zip -r temp/
  4. Scegli Azioni, quindi seleziona Scarica file.

  5. Immetti un nome file temp.zip, quindi scegli Scarica.

  6. (Facoltativo) Elimina il file temp.zip e gli oggetti sincronizzati con la cartella temp in CloudShell. Con AWS CloudShell, disponi di un'archiviazione persistente fino a 1 GB per ciascuna Regione AWS.

    Puoi utilizzare il seguente comando di esempio per eliminare il file .zip e la cartella. Per utilizzare questo comando di esempio, sostituisci user input placeholders con le tue informazioni.

    rm temp.zip && rm -rf temp/

L'esempio seguente mostra come utilizzare la AWS CLI per scaricare tutti i file o gli oggetti nella directory o nel prefisso specificati. Questo comando copia tutti gli oggetti dal bucket amzn-s3-demo-bucket1 nella directory corrente. Per utilizzare questo comando di esempio, usa il nome del bucket al posto di amzn-s3-demo-bucket1.

aws s3 cp s3://amzn-s3-demo-bucket1 . --recursive

Il comando seguente scarica tutti gli oggetti sotto il prefisso logs nel bucket amzn-s3-demo-bucket1 nella directory corrente. Inoltre, utilizza i parametri --exclude e --include per copiare solo gli oggetti con il suffisso .log. Per utilizzare questo comando di esempio, sostituisci user input placeholders con le tue informazioni.

aws s3 cp s3://amzn-s3-demo-bucket1/logs/ . --recursive --exclude "*" --include "*.log"

Per ulteriori informazioni ed esempi, consulta cp nella documentazione di riferimento dei comandi della AWS CLI.

Per esempi su come scaricare tutti gli oggetti in un bucket Amazon S3 con gli SDK AWS, consulta Code examples nella documentazione di riferimento delle API di Amazon S3.

Per informazioni generali sull'utilizzo dei diversi SDK AWS, consulta Sviluppo con Amazon S3 utilizzando gli SDK AWS nella documentazione di riferimento delle API Amazon S3.

Download di parte di un oggetto

Puoi scaricare parte di un oggetto utilizzando la AWS CLI o REST API. A tale scopo, utilizza parametri aggiuntivi per specificare la parte di un oggetto da scaricare.

Il comando di esempio seguente esegue una richiesta GET per un intervallo di byte nell'oggetto denominato folder/my_data nel bucket denominato amzn-s3-demo-bucket1. Nella richiesta, l'intervallo di byte deve essere preceduto da bytes=. L'oggetto parziale viene scaricato nel file di output denominato my_data_range. Per utilizzare questo comando di esempio, sostituisci user input placeholders con le tue informazioni.

aws s3api get-object --bucket amzn-s3-demo-bucket1 --key folder/my_data --range bytes=0-500 my_data_range

Per ulteriori informazioni ed esempi, consulta get-object nella documentazione di riferimento dei comandi della AWS CLI.

Per ulteriori informazioni sull'intestazione Range HTTP, consulta RFC 9110 nel sito Web RFC Editor.

Nota

Amazon S3 non supporta il recupero di più intervalli di dati in una singola richiesta GET.

Puoi utilizzare i parametri partNumber e Range nella REST API per recuperare parti di oggetti da Amazon S3. Per ulteriori informazioni, consulta GetObject in Amazon Simple Storage Service API Reference (Guida di riferimento per l'API di Amazon Simple Storage Service).

Download di un oggetto da un altro Account AWS

Per concedere un accesso limitato nel tempo agli oggetti senza aggiornare la policy del bucket, puoi utilizzare un URL prefirmato.

Un URL prefirmato può essere inserito in un browser o utilizzato da un programma per scaricare un oggetto. Le credenziali utilizzate dall'URL sono quelle dell'utente AWS che ha generato l'URL. Dopo che l'URL viene creato, chiunque disponga dell'URL prefirmato può scaricare l'oggetto corrispondente fino alla scadenza dell'URL.

Le seguenti fasi consentono di utilizzare la console Amazon S3 per generare un URL prefirmato per la condivisione di un oggetto in un bucket per uso generico. Quando si utilizza la console, il tempo massimo di scadenza per un URL prefirmato è di 12 ore dal momento della creazione.

Generazione di un URL prefirmato utilizzando la console di Amazon S3
  1. Accedi alla Console di gestione AWS e apri la console Amazon S3 all’indirizzo https://console.aws.amazon.com/s3/.

  2. Nel riquadro di navigazione sinistro, scegli Bucket per uso generico.

  3. Nell’elenco dei bucket scegli il nome del bucket contenente l’oggetto per cui desideri ottenere l’URL prefirmato.

  4. Nell'elenco Objects (Oggetti), seleziona l'oggetto per cui desideri creare un URL prefirmato.

  5. Nel menu Operazioni oggetti, scegli Crea URL prefirmato.

  6. Specifica per quanto tempo desideri che l'URL prefirmato sia valido.

  7. Scegli Create presigned URL (Crea URL prefirmato).

  8. Quando viene visualizzato un messaggio di conferma, l'URL viene automaticamente copiato negli appunti. Verrà visualizzato un pulsante per copiare l'URL preimpostato qualora fosse necessario copiarlo di nuovo.

  9. Per scaricare l'oggetto, incolla l'URL in qualsiasi browser; l'oggetto tenterà di scaricarlo.

Per ulteriori informazioni sugli URL prefirmati e altri metodi per crearli, consulta Download e caricamento di oggetti con URL predefiniti.

Download di oggetti archiviati

Per ridurre i costi di archiviazione degli oggetti a cui si accede raramente, è possibile archiviare tali oggetti. Quando si archivia un oggetto, questo viene spostato in una archiviazione a basso costo, il che significa che non è possibile accedervi in tempo reale. Per scaricare un oggetto archiviato, occorre prima ripristinarlo.

Puoi ripristinare oggetti archiviati in pochi minuti o ore, a seconda della classe di storage. Puoi ripristinare un oggetto archiviato utilizzando la console Amazon S3, le operazioni in batch S3, la REST API Amazon S3, gli AWS SDK e la AWS Command Line Interface (AWS CLI).

Per istruzioni, consulta Ripristino di un oggetto archiviato. Dopo aver ripristinato l'oggetto archiviato, puoi scaricarlo.

Download di oggetti in base ai metadati

È possibile aggiungere precondizioni per scaricare un oggetto in base ai suoi metadati, utilizzando una richiesta di lettura condizionale. È possibile restituire un oggetto in base al suo tag entità (ETag) o alla data dell'ultima modifica. Questo può limitare un'operazione S3 agli oggetti aggiornati da una data specifica o restituire solo una versione specifica dell'oggetto.

Si possono usare le scritture condizionali per richieste GetObject o HeadObject.

Per ulteriori informazioni sulle richieste condizionali, consulta Aggiunta di precondizioni alle operazioni S3 con richieste condizionali.

Risoluzione dei problemi di download degli oggetti

Autorizzazioni insufficienti o bucket o policy utente AWS Identity and Access Management (IAM) errate possono causare errori quando si tenta di scaricare oggetti da Amazon S3. Questi problemi possono spesso causare errori di accesso negato (403 Forbidden), in cui Amazon S3 non è in grado di consentire l'accesso a una risorsa.

Per cause comuni di errori di accesso negato (403 Forbidden), consulta Risoluzione dei problemi relativi agli errori di accesso negato (403 Forbidden) in Amazon S3.

Se ricevi un errore 404 NoSuchKey quando tenti di accedere a un oggetto, consulta Come posso correggere l’errore 404 NoSuchKey di Amazon S3? in AWS re:Post Knowledge Center.