

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 comandi di alto livello (s3) in AWS CLI
<a name="cli-services-s3-commands"></a>

Questo argomento descrive alcuni dei comandi che è possibile utilizzare per gestire i bucket e gli oggetti Amazon S3 utilizzando i comandi [https://docs.aws.amazon.com/cli/latest/reference/s3/index.html](https://docs.aws.amazon.com/cli/latest/reference/s3/index.html) presenti nella AWS CLI. Per i comandi non trattati in questo argomento e per altri esempi di comandi, consulta i comandi [https://docs.aws.amazon.com/cli/latest/reference/s3/index.html](https://docs.aws.amazon.com/cli/latest/reference/s3/index.html) nella *Guida di riferimento della AWS CLI *.

I comandi `aws s3` di alto livello semplificano la gestione degli oggetti Amazon S3. Questi comandi consentono di gestire i contenuti di Amazon S3 al suo interno e utilizzando le directory locali.

**Topics**
+ [Prerequisiti](#using-s3-commands-prereqs)
+ [Prima di iniziare](#using-s3-commands-before)
+ [Creazione di un bucket](#using-s3-commands-managing-buckets-creating)
+ [Elenca i bucket e gli oggetti](#using-s3-commands-listing-buckets)
+ [Eliminazione di bucket](#using-s3-commands-delete-buckets)
+ [Eliminazione di oggetti](#using-s3-commands-delete-objects)
+ [Sposta oggetti](#using-s3-commands-managing-objects-move)
+ [Copia oggetti](#using-s3-commands-managing-objects-copy)
+ [Oggetti sincronizzati](#using-s3-commands-managing-objects-sync)
+ [Opzioni utilizzate di frequente per i comandi S3](#using-s3-commands-managing-objects-param)
+ [Resources](#using-s3-commands-managing-buckets-references)

## Prerequisiti
<a name="using-s3-commands-prereqs"></a>

Per eseguire i comandi `s3`, è necessario:
+ Istalla e configura la AWS CLI. Per ulteriori informazioni, consultare [Installazione o aggiornamento alla versione più recente di AWS CLI](getting-started-install.md) e [Credenziali di autenticazione e accesso per AWS CLI](cli-chap-authentication.md).
+ Il profilo utilizzato deve disporre di autorizzazioni che consentano le AWS operazioni eseguite dagli esempi.
+ Glossario dei termini di Amazon S3:
  + **Bucket**: cartella Amazon S3 di primo livello.
  + **Prefisso**: una cartella Amazon S3 in un bucket.
  + **Oggetto**: qualsiasi elemento ospitato in un bucket Amazon S3.

## Prima di iniziare
<a name="using-s3-commands-before"></a>

Questa sezione descrive alcune cose da tenere a mente prima di utilizzare i comandi `aws s3`.

### Caricamenti di oggetti di grandi dimensioni
<a name="using-s3-commands-before-large"></a>

Quando usi i comandi `aws s3` per caricare oggetti di grandi dimensioni in un bucket Amazon S3, AWS CLI esegue automaticamente un caricamento in più parti. Quando si utilizzano questi comandi `aws s3`, non è possibile riprendere un caricamento non riuscito. 

Se il caricamento in più parti non riesce a causa di un timeout o se l'hai annullato manualmente in AWS CLI, AWS CLI interrompe il caricamento e pulisce tutti i file che sono stati creati. Questo processo può richiedere alcuni minuti. 

Se il processo di caricamento in più parti o di pulizia viene annullato da un comando kill o da un errore di sistema, i file creati rimangono nel bucket Amazon S3. 

### Proprietà e tag dei file nelle copie in più parti
<a name="using-s3-commands-before-tags"></a>

Quando utilizzi la AWS CLI versione 1 dei comandi nello spazio dei `aws s3` nomi per copiare un file da una posizione del bucket Amazon S3 a un'altra posizione del bucket Amazon S3 e tale operazione [utilizza la copia multiparte](https://docs.aws.amazon.com/AmazonS3/latest/userguide/CopyingObjctsMPUapi.html), nessuna proprietà del file dall'oggetto di origine viene copiata nell'oggetto di destinazione.

Per impostazione predefinita, i comandi della AWS CLI versione 2 nello spazio dei `s3` nomi che eseguono copie in più parti trasferiscono tutti i tag e il seguente set di proprietà dalla copia di origine a quella di destinazione: `content-type` `content-language``content-encoding`,`content-disposition`,,`cache-control`,`expires`, e`metadata`.

Ciò può comportare chiamate AWS API aggiuntive all'endpoint Amazon S3 che non sarebbero state effettuate se avessi utilizzato AWS CLI la versione 1. Questi possono includere: `HeadObject`, `GetObjectTagging` e `PutObjectTagging`.

Se devi modificare questo comportamento predefinito nei comandi della AWS CLI versione 2, usa il `--copy-props` parametro per specificare una delle seguenti opzioni:
+ **default** - Il valore predefinito. Specifica che la copia include tutti i tag collegati all’oggetto di origine e le proprietà racchiuse nel parametro `--metadata-directive` utilizzato per le copie non multipart: `content-type`, `content-language`, `content-encoding`, `content-disposition`, `cache-control`, `expires` e `metadata`.
+ **metadata-directive** - Specifica che la copia include solo le proprietà racchiuse nel parametro `--metadata-directive` utilizzato per le copie non multipart. Non copia alcun tag.
+ **none** - Specifica che la copia non include nessuna delle proprietà dell’oggetto di origine.

## Creazione di un bucket
<a name="using-s3-commands-managing-buckets-creating"></a>

Utilizza il comando [https://docs.aws.amazon.com/cli/latest/reference/s3/mb.html](https://docs.aws.amazon.com/cli/latest/reference/s3/mb.html) per creare un bucket. I nomi dei bucket devono essere univoci ***globalmente*** (univoci in tutto Amazon S3) e devono essere compatibili con DNS. 

Possono includere lettere minuscole, numeri, trattini e punti. Possono iniziare e terminare solo con una lettera o un numero e non possono contenere un punto accanto a un trattino o a un altro periodo. 

**Sintassi**

```
$ aws s3 mb <target> [--options]
```

### Esempi di s3 mb
<a name="using-s3-commands-managing-buckets-creating-examples"></a>

L’esempio seguente crea il bucket `s3://amzn-s3-demo-bucket`.

```
$ aws s3 mb s3://amzn-s3-demo-bucket
```

## Elenca i bucket e gli oggetti
<a name="using-s3-commands-listing-buckets"></a>

Per elencare i bucket, le cartelle o gli oggetti, utilizza il comando [https://docs.aws.amazon.com/cli/latest/reference/s3/ls.html](https://docs.aws.amazon.com/cli/latest/reference/s3/ls.html). L’utilizzo del comando senza destinazione o opzioni elenca tutti i bucket. 

**Sintassi**

```
$ aws s3 ls <target> [--options]
```

Per alcune opzioni comuni da utilizzare con questo comando ed esempi, consulta [Opzioni utilizzate di frequente per i comandi S3](#using-s3-commands-managing-objects-param). Per un elenco completo delle opzioni disponibili, vedi [https://docs.aws.amazon.com/cli/latest/reference/s3/ls.html](https://docs.aws.amazon.com/cli/latest/reference/s3/ls.html) in *AWS CLI Command Reference*.

### Esempi di s3 ls
<a name="using-s3-commands-managing-objects-list-examples"></a>

L’esempio seguente elenca tutti i tuoi bucket Amazon S3.

```
$ aws s3 ls
2018-12-11 17:08:50 amzn-s3-demo-bucket1
2018-12-14 14:55:44 amzn-s3-demo-bucket2
```

Il comando seguente elenca tutti gli oggetti e i prefissi inclusi in un bucket. In questo output di esempio, il prefisso `example/` ha un file denominato `MyFile1.txt`.

```
$ aws s3 ls s3://amzn-s3-demo-bucket
                           PRE example/
2018-12-04 19:05:48          3 MyFile1.txt
```

Puoi filtrare l’output per un determinato prefisso includendolo nel comando. Il comando seguente elenca gli oggetti in *bucket-name/example/* (ovvero gli oggetti *bucket-name* filtrati in base al prefisso*example/*).

```
$ aws s3 ls s3://amzn-s3-demo-bucket/example/
2018-12-06 18:59:32          3 MyFile1.txt
```

Per visualizzare solo i bucket e gli oggetti in una Regione specifica, utilizza le opzioni `--region`

```
$ aws s3 ls --region us-east-2
2018-12-06 18:59:32          3 MyFile1.txt
```

Se disponi di un ampio elenco di bucket e oggetti, puoi paginare i risultati utilizzando le opzioni `--max-items` o `--page-size`. L’opzione `--max-items` limita il numero totale di bucket e oggetti restituiti in una chiamata e l’opzione `--page-size` limita il numero di bucket e oggetti elencati in una pagina.

```
$ aws s3 ls --max-items 100 --page-size 10
```

Per ulteriori informazioni sulla paginazione, consulta [Come utilizzare il parametro --page-size](cli-usage-pagination.md#cli-usage-pagination-pagesize) e [Come utilizzare il parametro --max-items](cli-usage-pagination.md#cli-usage-pagination-maxitems).

## Eliminazione di bucket
<a name="using-s3-commands-delete-buckets"></a>

Per eliminare un bucket, utilizza il comando [https://docs.aws.amazon.com/cli/latest/reference/s3/rb.html](https://docs.aws.amazon.com/cli/latest/reference/s3/rb.html). 

**Sintassi**

```
$ aws s3 rb <target> [--options]
```

### Esempi di s3 rb
<a name="using-s3-commands-removing-buckets-examples"></a>

L’esempio seguente rimuove il bucket `s3://amzn-s3-demo-bucket`.

```
$ aws s3 rb s3://amzn-s3-demo-bucket
```

Per default, perché l’operazione riesca il bucket deve essere vuoto. Per rimuovere un bucket non vuoto, è necessario includere l’opzione `--force`. Se utilizzi un bucket con versioni multiple che contiene oggetti precedentemente eliminati, ma mantenuti, questo comando *non* consentirà di rimuovere il bucket. Devi prima rimuovere tutti i contenuti.

Il seguente comando di esempio elimina tutti gli oggetti nel bucket ed elimina il bucket stesso.

```
$ aws s3 rb s3://amzn-s3-demo-bucket --force
```

## Eliminazione di oggetti
<a name="using-s3-commands-delete-objects"></a>

Per eliminare oggetti in un bucket o nella directory locale, usa il comando [https://docs.aws.amazon.com/cli/latest/reference/s3/rm.html](https://docs.aws.amazon.com/cli/latest/reference/s3/rm.html). 

**Sintassi**

```
$ aws s3 rm  <target> [--options]
```

Per alcune opzioni comuni da utilizzare con questo comando ed esempi, consulta [Opzioni utilizzate di frequente per i comandi S3](#using-s3-commands-managing-objects-param). Per una lista completa di opzioni, consulta [https://docs.aws.amazon.com/cli/latest/reference/s3/rm.html](https://docs.aws.amazon.com/cli/latest/reference/s3/rm.html) in *AWS CLI Command Reference*.

### Esempi di s3 rm
<a name="using-s3-commands-delete-objects-examples"></a>

L’esempio seguente elimina `filename.txt` da `s3://amzn-s3-demo-bucket/example`.

```
$ aws s3 rm s3://amzn-s3-demo-bucket/example/filename.txt
```

L’esempio seguente elimina tutti gli oggetti da `s3://amzn-s3-demo-bucket/example` utilizzando l’opzione `--recursive`.

```
$ aws s3 rm s3://amzn-s3-demo-bucket/example --recursive
```

## Sposta oggetti
<a name="using-s3-commands-managing-objects-move"></a>

Usa il comando [https://docs.aws.amazon.com/cli/latest/reference/s3/mv.html](https://docs.aws.amazon.com/cli/latest/reference/s3/mv.html) per spostare oggetti da un bucket o da una directory locale. Il comando `s3 mv` copia l’oggetto o file di origine nella destinazione specificata, quindi elimina l’oggetto o il file di origine.

**Sintassi**

```
$ aws s3 mv <source> <target> [--options]
```

Per alcune opzioni comuni da utilizzare con questo comando ed esempi, consulta [Opzioni utilizzate di frequente per i comandi S3](#using-s3-commands-managing-objects-param). Per un elenco completo delle opzioni disponibili, vedi [https://docs.aws.amazon.com/cli/latest/reference/s3/mv.html](https://docs.aws.amazon.com/cli/latest/reference/s3/mv.html) in *AWS CLI Command Reference*.

**avvertimento**  
Se utilizzi qualsiasi tipo di punto di accesso ARNs o alias del punto di accesso nella tua origine o URIs destinazione Amazon S3, devi prestare particolare attenzione che Amazon URIs S3 di origine e destinazione si risolvano in diversi bucket sottostanti. Se i bucket di origine e di destinazione sono gli stessi, il file o l’oggetto di origine può essere spostato su sé stesso, il che può comportare l’eliminazione accidentale del file o dell’oggetto di origine. Per verificare che i bucket di origine e di destinazione non siano gli stessi, utilizza il parametro `--validate-same-s3-paths` o imposta la variabile di ambiente ``AWS_CLI_S3_MV_VALIDATE_SAME_S3_PATHS`` su `true`.

### Esempi di s3 mv
<a name="using-s3-commands-managing-objects-move-examples"></a>

L’esempio seguente sposta tutti gli oggetti da `s3://amzn-s3-demo-bucket/example` a `s3://amzn-s3-demo-bucket/`.

```
$ aws s3 mv s3://amzn-s3-demo-bucket/example s3://amzn-s3-demo-bucket/
```

L’esempio seguente sposta un file locale dalla directory di lavoro corrente nel bucket Amazon S3 con il comando `s3 mv`.

```
$ aws s3 mv filename.txt s3://amzn-s3-demo-bucket
```

L’esempio seguente sposta un file dal bucket Amazon S3 alla directory di lavoro corrente, dove `./` specifica la directory di lavoro corrente.

```
$ aws s3 mv s3://amzn-s3-demo-bucket/filename.txt ./
```

## Copia oggetti
<a name="using-s3-commands-managing-objects-copy"></a>

Usa il comando [https://docs.aws.amazon.com/cli/latest/reference/s3/cp.html](https://docs.aws.amazon.com/cli/latest/reference/s3/cp.html) per copiare oggetti da un bucket o da una directory locale. 

**Sintassi**

```
$ aws s3 cp <source> <target> [--options]
```

È possibile utilizzare il parametro dash per l’invio in streaming di file su standard input (`stdin`) o standard output (`stdout`). 

**avvertimento**  
Se lo stai utilizzando PowerShell, la shell potrebbe alterare la codifica di un CRLF o aggiungere un CRLF all'input o all'output reindirizzato tramite piping o all'output reindirizzato.

Il comando `s3 cp` utilizza la seguente sintassi per caricare uno streaming di file da `stdin` a un bucket specificato.

**Sintassi**

```
$ aws s3 cp - <target> [--options]
```

Il comando `s3 cp` utilizza la seguente sintassi per scaricare uno streaming di file Amazon S3 su `stdout`.

**Sintassi**

```
$ aws s3 cp <target> [--options] -
```

Per alcune opzioni comuni da utilizzare con questo comando ed esempi, consulta [Opzioni utilizzate di frequente per i comandi S3](#using-s3-commands-managing-objects-param). Per la lista completa di opzioni, consulta [https://docs.aws.amazon.com/cli/latest/reference/s3/cp.html](https://docs.aws.amazon.com/cli/latest/reference/s3/cp.html) in *AWS CLI Command Reference*.

### Esempi di `s3 cp`
<a name="using-s3-commands-managing-objects-copy-examples"></a>

L’esempio seguente copia tutti gli oggetti da `s3://amzn-s3-demo-bucket/example` a `s3://amzn-s3-demo-bucket/`.

```
$ aws s3 cp s3://amzn-s3-demo-bucket/example s3://amzn-s3-demo-bucket/
```

L’esempio seguente copia un file locale dalla directory di lavoro corrente nel bucket Amazon S3 con il comando `s3 cp`.

```
$ aws s3 cp filename.txt s3://amzn-s3-demo-bucket
```

L’esempio seguente copia un file dal bucket Amazon S3 nella directory di lavoro corrente, dove `./` specifica la directory di lavoro corrente.

```
$ aws s3 cp s3://amzn-s3-demo-bucket/filename.txt ./
```

L’esempio seguente utilizza echo per trasmettere il testo “hello world” al file `s3://bucket-name/filename.txt`.

```
$ echo "hello world" | aws s3 cp - s3://amzn-s3-demo-bucket/filename.txt
```

L’esempio seguente trasmette il file `s3://amzn-s3-demo-bucket/filename.txt` a `stdout` e ne stampa il contenuto sulla console.

```
$ aws s3 cp s3://amzn-s3-demo-bucket/filename.txt -
hello world
```

L’esempio seguente trasmette il contenuto di `s3://bucket-name/pre` a `stdout`, utilizza il comando `bzip2` per comprimere i file e carica il nuovo file compresso denominato `key.bz2` su `s3://bucket-name`.

```
$ aws s3 cp s3://amzn-s3-demo-bucket/pre - | bzip2 --best | aws s3 cp - s3://amzn-s3-demo-bucket/key.bz2
```

## Oggetti sincronizzati
<a name="using-s3-commands-managing-objects-sync"></a>

Il comando [https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html](https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html) sincronizza i contenuti di un bucket e una directory o i contenuti di due bucket. In genere, `s3 sync` copia i file o gli oggetti mancanti od obsoleti tra l’origine e la destinazione. Tuttavia, puoi anche utilizzare l’opzione `--delete` per rimuovere dalla destinazione i file o gli oggetti non presenti nell’origine. 

**Sintassi**

```
$ aws s3 sync <source> <target> [--options]
```

Per alcune opzioni comuni da utilizzare con questo comando ed esempi, consulta [Opzioni utilizzate di frequente per i comandi S3](#using-s3-commands-managing-objects-param). Per una lista completa di opzioni, consulta [https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html](https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html) in *AWS CLI Command Reference*.

### Esempi di s3 sync
<a name="using-s3-commands-managing-objects-sync-examples"></a>

L’esempio seguente sincronizza il contenuto di un prefisso Amazon S3 denominato *path* nel bucket denominato *amzn-s3-demo-bucket* con la directory di lavoro corrente. 

`s3 sync` aggiorna tutti i file che hanno dimensioni diverse o un orario modificato rispetto ai file con lo stesso nome nella destinazione. L’output mostra le operazioni specifiche eseguite durante la sincronizzazione. Nota che l’operazione sincronizza ricorsivamente la sottodirectory `MySubdirectory` e il suo contenuto con `s3://amzn-s3-demo-bucket/path/MySubdirectory`.

```
$ aws s3 sync . s3://amzn-s3-demo-bucket/path
upload: MySubdirectory\MyFile3.txt to s3://amzn-s3-demo-bucket/path/MySubdirectory/MyFile3.txt
upload: MyFile2.txt to s3://amzn-s3-demo-bucket/path/MyFile2.txt
upload: MyFile1.txt to s3://amzn-s3-demo-bucket/path/MyFile1.txt
```

L’esempio seguente, che amplia quello precedente, mostra come utilizzare l’opzione `--delete`.

```
// Delete local file
$ rm ./MyFile1.txt

// Attempt sync without --delete option - nothing happens
$ aws s3 sync . s3://amzn-s3-demo-bucket/path

// Sync with deletion - object is deleted from bucket
$ aws s3 sync . s3://amzn-s3-demo-bucket/path --delete
delete: s3://amzn-s3-demo-bucket/path/MyFile1.txt

// Delete object from bucket
$ aws s3 rm s3://amzn-s3-demo-bucket/path/MySubdirectory/MyFile3.txt
delete: s3://amzn-s3-demo-bucket/path/MySubdirectory/MyFile3.txt

// Sync with deletion - local file is deleted
$ aws s3 sync s3://amzn-s3-demo-bucket/path . --delete
delete: MySubdirectory\MyFile3.txt

// Sync with Infrequent Access storage class
$ aws s3 sync . s3://amzn-s3-demo-bucket/path --storage-class STANDARD_IA
```

Quando si utilizza l’opzione `--delete`, le opzioni `--exclude` e `--include` possono filtrare file o oggetti da eliminare durante un’operazione `s3 sync`. In questo caso, la stringa di parametro deve specificare i file da escludere o includere per l’eliminazione nel contesto della directory o del bucket di destinazione. Di seguito viene riportato un esempio.

```
Assume local directory and s3://amzn-s3-demo-bucket/path currently in sync and each contains 3 files:
MyFile1.txt
MyFile2.rtf
MyFile88.txt
'''

// Sync with delete, excluding files that match a pattern. MyFile88.txt is deleted, while remote MyFile1.txt is not.
$ aws s3 sync . s3://amzn-s3-demo-bucket/path --delete --exclude "path/MyFile?.txt"
delete: s3://amzn-s3-demo-bucket/path/MyFile88.txt
'''

// Sync with delete, excluding MyFile2.rtf - local file is NOT deleted
$ aws s3 sync s3://amzn-s3-demo-bucket/path . --delete --exclude "./MyFile2.rtf"
download: s3://amzn-s3-demo-bucket/path/MyFile1.txt to MyFile1.txt
'''

// Sync with delete, local copy of MyFile2.rtf is deleted
$ aws s3 sync s3://amzn-s3-demo-bucket/path . --delete
delete: MyFile2.rtf
```

## Opzioni utilizzate di frequente per i comandi S3
<a name="using-s3-commands-managing-objects-param"></a>

Le seguenti opzioni vengono utilizzate di frequente per i comandi descritti in questo argomento. [Per un elenco completo delle opzioni che è possibile utilizzare su un comando, consultate il comando specifico nella guida di riferimento alla versione 2 della .](https://docs.aws.amazon.com/cli/latest/reference/index.html)

**acl**  
`s3 sync` e `s3 cp` possono utilizzare l’opzione `--acl`. Ciò consente di impostare le autorizzazioni di accesso per i file copiati su Amazon S3. L’opzione `--acl` accetta i valori `private`, `public-read` e `public-read-write`. Per maggiori informazioni, consulta [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) nella *Guida per l’utente di Amazon S3*.  

```
$ aws s3 sync . s3://amzn-s3-demo-bucket/path --acl public-read
```

**exclude**  
Quando usi il comando `s3 cp`, `s3 mv`, `s3 sync` o `s3 rm`, puoi filtrare i risultati utilizzando l’opzione `--exclude` o `--include`. L’opzione `--exclude` imposta le regole per escludere solo gli oggetti dal comando e le opzioni si applicano nell’ordine specificato. Questo viene mostrato nell’esempio seguente.  

```
Local directory contains 3 files:
MyFile1.txt
MyFile2.rtf
MyFile88.txt

// Exclude all .txt files, resulting in only MyFile2.rtf being copied
$ aws s3 cp . s3://amzn-s3-demo-bucket/path --exclude "*.txt"

// Exclude all .txt files but include all files with the "MyFile*.txt" format, resulting in, MyFile1.txt, MyFile2.rtf, MyFile88.txt being copied
$ aws s3 cp . s3://amzn-s3-demo-bucket/path --exclude "*.txt" --include "MyFile*.txt"

// Exclude all .txt files, but include all files with the "MyFile*.txt" format, but exclude all files with the "MyFile?.txt" format resulting in, MyFile2.rtf and MyFile88.txt being copied
$ aws s3 cp . s3://amzn-s3-demo-bucket/path --exclude "*.txt" --include "MyFile*.txt" --exclude "MyFile?.txt"
```

**include**  
Quando usi il comando `s3 cp`, `s3 mv`, `s3 sync` o `s3 rm`, puoi filtrare i risultati utilizzando l’opzione `--exclude` o `--include`. L’opzione `--include` imposta le regole per includere solo gli oggetti specificati nel comando e le opzioni si applicano nell’ordine specificato. Questo viene mostrato nell’esempio seguente.  

```
Local directory contains 3 files:
MyFile1.txt
MyFile2.rtf
MyFile88.txt

// Include all .txt files, resulting in MyFile1.txt and MyFile88.txt being copied
$ aws s3 cp . s3://amzn-s3-demo-bucket/path --include "*.txt"

// Include all .txt files but exclude all files with the "MyFile*.txt" format, resulting in no files being copied
$ aws s3 cp . s3://amzn-s3-demo-bucket/path --include "*.txt" --exclude "MyFile*.txt"

// Include all .txt files, but exclude all files with the "MyFile*.txt" format, but include all files with the "MyFile?.txt" format resulting in MyFile1.txt being copied

$ aws s3 cp . s3://amzn-s3-demo-bucket/path --include "*.txt" --exclude "MyFile*.txt" --include "MyFile?.txt"
```

**grant**  
I comandi `s3 cp`, `s3 mv` e `s3 sync` includono un’opzione `--grants` che può essere utilizzata per concedere autorizzazioni sull’oggetto a utenti o gruppi specificati. Imposta l’opzione `--grants` per un elenco di autorizzazioni utilizzando la sintassi seguente. Sostituisci `Permission`, `Grantee_Type` e `Grantee_ID` con il tuo valore.  
**Sintassi**  

```
--grants Permission=Grantee_Type=Grantee_ID
         [Permission=Grantee_Type=Grantee_ID ...]
```
Ogni valore contiene i seguenti elementi:  
+ *Permission*— Speciifica le autorizzazioni concesse. Può essere impostato su `read`, `readacl`, `writeacl` o `full`.
+ *Grantee\$1Type*— Specifica come identificare il beneficiario. Può essere impostato su `uri`, `emailaddress` o `id`.
+ *Grantee\$1ID*— Speciifica il beneficiario in base a. *Grantee\$1Type*
  + `uri` - L’URI del gruppo. Per ulteriori informazioni, consulta [Chi è l’assegnatario?](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ACLOverview.html#SpecifyingGrantee)
  + `emailaddress` - L’indirizzo e-mail dell’account.
  + `id` - L’ID canonico dell’account.
Per ulteriori informazioni sul controllo degli accessi di Amazon S3, consulta [Controllo degli accessi](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingAuthAccess.html).  
L’esempio seguente copia un oggetto in un bucket. Concede le autorizzazioni `read` per l’oggetto a tutti e le autorizzazioni `full` (`read`, `readacl` e `writeacl`) all’account associato a `user@example.com`.   

```
$ aws s3 cp file.txt s3://amzn-s3-demo-bucket/ --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers full=emailaddress=user@example.com
```
Puoi anche specificare una classe di archiviazione non predefinita (`REDUCED_REDUNDANCY` o `STANDARD_IA`) per gli oggetti caricati su Amazon S3. Per farlo, utilizza l’opzione `--storage-class`.  

```
$ aws s3 cp file.txt s3://amzn-s3-demo-bucket/ --storage-class REDUCED_REDUNDANCY
```

**nessuna sovrascrittura**  
I `s3 sync` comandi `s3 cp``s3 mv`, e includono un'`--no-overwrite`opzione che è possibile utilizzare per impedire la sovrascrittura di oggetti già esistenti nella destinazione.  
L'esempio seguente copia un oggetto da un bucket nella directory locale solo se non esiste già nella directory locale.  

```
$ aws s3 cp --no-overwrite s3://amzn-s3-demo-bucket/file.txt file.txt
```
L'esempio seguente copia in modo ricorsivo i file da una directory locale a un bucket. Copierà solo i file che non esistono già nel bucket.  

```
$ aws s3 cp --recursive --no-overwrite /path/to/demo-files/ s3://amzn-s3-demo-bucket/demo-files/
```
L'esempio seguente sposta un oggetto da una directory locale a un bucket solo se non esiste già nella posizione di destinazione del bucket.  

```
$ aws s3 mv --no-overwrite file.txt s3://amzn-s3-demo-bucket/file.txt
```
L'esempio seguente sincronizza i file da una directory locale a un bucket. Sincronizzerà solo i file che non esistono già nel bucket di destinazione.  

```
$ aws s3 sync --no-overwrite /path/to/demo-files/ s3://amzn-s3-demo-bucket/demo-files/
```

**recursive**  
Quando utilizzi questa opzione, il comando viene eseguito su tutti i file o gli oggetti nella directory o nel prefisso specificati. L’esempio seguente elimina `s3://amzn-s3-demo-bucket/path` e tutti i suoi contenuti.  

```
$ aws s3 rm s3://amzn-s3-demo-bucket/path --recursive
```

## Resources
<a name="using-s3-commands-managing-buckets-references"></a>

**AWS CLI riferimento:**
+ [https://docs.aws.amazon.com/cli/latest/reference/s3/index.html](https://docs.aws.amazon.com/cli/latest/reference/s3/index.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/s3/cp.html](https://docs.aws.amazon.com/cli/latest/reference/s3/cp.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/s3/mb.html](https://docs.aws.amazon.com/cli/latest/reference/s3/mb.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/s3/mv.html](https://docs.aws.amazon.com/cli/latest/reference/s3/mv.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/s3/ls.html](https://docs.aws.amazon.com/cli/latest/reference/s3/ls.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/s3/rb.html](https://docs.aws.amazon.com/cli/latest/reference/s3/rb.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/s3/rm.html](https://docs.aws.amazon.com/cli/latest/reference/s3/rm.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html](https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html)

**Riferimento al servizio**:
+ [Utilizzo di bucket Amazon S3](https://docs.aws.amazon.com//AmazonS3/latest/userguide/UsingBucket.html) nella *Guida per l’utente di Amazon S3*
+ [Utilizzo di oggetti Amazon S3](https://docs.aws.amazon.com//AmazonS3/latest/userguide/UsingObjects.html) nella *Guida per l’utente di Amazon S3*
+ [Elenco gerarchico delle chiavi utilizzando un prefisso e un delimitatore](https://docs.aws.amazon.com//AmazonS3/latest/userguide/ListingKeysHierarchy.html) nella *Guida per l’utente di Amazon S3*
+ [https://docs.aws.amazon.com//AmazonS3/latest/userguide/LLAbortMPUnet.html](https://docs.aws.amazon.com//AmazonS3/latest/userguide/LLAbortMPUnet.html)