

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# À l'aide de commandes de haut niveau (s3) dans le AWS CLI
<a name="cli-services-s3-commands"></a>

Cette rubrique décrit certaines des commandes que vous pouvez utiliser pour gérer les compartiments et les objets Amazon S3 à l’aide des commandes [https://docs.aws.amazon.com/cli/latest/reference/s3/index.html](https://docs.aws.amazon.com/cli/latest/reference/s3/index.html) de l’ AWS CLI. Pour les commandes non abordées dans cette rubrique et pour des exemples de commandes supplémentaires, consultez les commandes [https://docs.aws.amazon.com/cli/latest/reference/s3/index.html](https://docs.aws.amazon.com/cli/latest/reference/s3/index.html) dans la *Référence de l’AWS CLI *.

Les commandes de haut niveau `aws s3` simplifient la gestion des objets Amazon S3. Ces commandes vous permettent de gérer le contenu d’Amazon S3 en lui-même et avec les annuaires locaux.

**Topics**
+ [Conditions préalables](#using-s3-commands-prereqs)
+ [Avant de commencer](#using-s3-commands-before)
+ [Création d’un compartiment](#using-s3-commands-managing-buckets-creating)
+ [Affichage de la liste des compartiments et des objets](#using-s3-commands-listing-buckets)
+ [Suppression de compartiments](#using-s3-commands-delete-buckets)
+ [Suppression d’objets](#using-s3-commands-delete-objects)
+ [Déplacement d’objets](#using-s3-commands-managing-objects-move)
+ [Copie d’objets](#using-s3-commands-managing-objects-copy)
+ [Synchronisation d’objets](#using-s3-commands-managing-objects-sync)
+ [Options fréquemment utilisées pour les commandes s3](#using-s3-commands-managing-objects-param)
+ [Ressources](#using-s3-commands-managing-buckets-references)

## Conditions préalables
<a name="using-s3-commands-prereqs"></a>

Pour exécuter les commandes `s3`, vous devez respecter les conditions requises suivantes :
+ Installez et configurez l’ AWS CLI. Pour plus d’informations, consultez [Installation ou mise à jour vers la dernière version du AWS CLI](getting-started-install.md) et [Authentification et informations d'accès pour AWS CLI](cli-chap-authentication.md).
+ Le profil que vous utilisez doit disposer d'autorisations autorisant les AWS opérations effectuées dans les exemples.
+ Maîtrisez les termes Amazon S3 suivants :
  + **Compartiment** : dossier Amazon S3 de haut niveau.
  + **Préfixe** : dossier Amazon S3 dans un compartiment.
  + **Objet** : tout élément hébergé dans un compartiment Amazon S3.

## Avant de commencer
<a name="using-s3-commands-before"></a>

Cette section décrit quelques points à prendre en compte avant d’utiliser des commandes `aws s3`.

### Chargement d’objets volumineux
<a name="using-s3-commands-before-large"></a>

Lorsque vous utilisez des commandes `aws s3` pour charger des objets volumineux dans un compartiment Amazon S3, AWS CLI effectue automatiquement un chargement partitionné. Vous ne pouvez pas reprendre un chargement qui échoue à l’aide de ces commandes `aws s3`. 

Si le téléchargement partitionné échoue en raison d'un délai imparti, ou si vous l'avez annulé manuellement AWS CLI, le téléchargement AWS CLI arrête le téléchargement et nettoie tous les fichiers créés. Ce processus peut prendre plusieurs minutes. 

Si le processus de chargement ou de nettoyage partitionné est annulé en raison d’une commande d’arrêt ou d’une défaillance du système, les fichiers créés restent dans le compartiment Amazon S3. [Pour nettoyer le téléchargement partitionné, utilisez la commande s3api . abort-multipart-upload](https://docs.aws.amazon.com/cli/latest/reference/s3api/abort-multipart-upload.html)

### Propriétés des fichiers et balises dans les copies partitionnées
<a name="using-s3-commands-before-tags"></a>

Lorsque vous utilisez la AWS CLI version 1 des commandes de l'`aws s3`espace de noms pour copier un fichier d'un emplacement de compartiment Amazon S3 vers un autre emplacement de compartiment Amazon S3, et que cette opération utilise une [copie en plusieurs parties](https://docs.aws.amazon.com/AmazonS3/latest/userguide/CopyingObjctsMPUapi.html), aucune propriété de fichier de l'objet source n'est copiée vers l'objet de destination.

Par défaut, les commandes de AWS CLI version 2 de l'`s3`espace de noms qui effectuent des copies partitionnées transfèrent toutes les balises et l'ensemble de propriétés suivant de la copie source vers la copie de destination :`content-type`,`content-language`,`content-encoding`,`content-disposition`, `cache-control``expires`, et. `metadata`

Cela peut entraîner des appels d' AWS API supplémentaires vers le point de terminaison Amazon S3 qui n'auraient pas été effectués si vous aviez utilisé AWS CLI la version 1. Peuvent être inclus : `HeadObject`, `GetObjectTagging` et `PutObjectTagging`.

Si vous devez modifier ce comportement par défaut dans les commandes de la AWS CLI version 2, utilisez le `--copy-props` paramètre pour spécifier l'une des options suivantes :
+ **default** : la valeur par défaut. Spécifie que la copie inclut toutes les balises attachées à l’objet source et les propriétés englobées par le paramètre `--metadata-directive` utilisé pour les copies non partitionnées : `content-type`, `content-language`, `content-encoding`, `content-disposition`, `cache-control`, `expires` et `metadata`.
+ **metadata-directive** : spécifie que la copie inclut uniquement les propriétés englobées par le paramètre `--metadata-directive` utilisé pour les copies non partitionnées. Aucune balise n’est copiée.
+ **none** : spécifie que la copie n’inclut aucune des propriétés de l’objet source.

## Création d’un compartiment
<a name="using-s3-commands-managing-buckets-creating"></a>

Utilisez la commande [https://docs.aws.amazon.com/cli/latest/reference/s3/mb.html](https://docs.aws.amazon.com/cli/latest/reference/s3/mb.html) pour créer un compartiment. Les noms de compartiment doivent être ***globalement*** uniques (dans tout Amazon S3) et conformes à DNS. 

Les noms de compartiments peuvent contenir des lettres minuscules, des chiffres, des traits d’union et des points. Les noms de compartiment peuvent uniquement commencer et se terminer par une lettre ou un chiffre, et ils ne peuvent pas contenir de point à la suite d’un tiret ou d’un autre point. 

**Syntaxe**

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

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

L’exemple suivant crée le compartiment `s3://amzn-s3-demo-bucket`.

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

## Affichage de la liste des compartiments et des objets
<a name="using-s3-commands-listing-buckets"></a>

Pour répertorier les compartiments, dossiers ou objets, utilisez la commande [https://docs.aws.amazon.com/cli/latest/reference/s3/ls.html](https://docs.aws.amazon.com/cli/latest/reference/s3/ls.html). L’utilisation de la commande sans cible ni options permet de répertorier tous les compartiments. 

**Syntaxe**

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

Pour voir quelques options courantes à utiliser avec cette commande, ainsi que des exemples, consultez [Options fréquemment utilisées pour les commandes s3](#using-s3-commands-managing-objects-param). Pour obtenir la liste complète des options disponibles, consultez [https://docs.aws.amazon.com/cli/latest/reference/s3/ls.html](https://docs.aws.amazon.com/cli/latest/reference/s3/ls.html) dans la *Référence des commandes de l’AWS CLI *.

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

L’exemple suivant répertorie tous les compartiments 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
```

La commande suivante affiche la liste de tous les objets et préfixes d’un compartiment. Dans cet exemple de sortie, le préfixe `example/` possède un fichier nommé `MyFile1.txt`.

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

Vous pouvez filtrer la sortie sur un préfixe spécifique en l’incluant dans la commande. La commande suivante répertorie les objets dans *bucket-name/example/* (c'est-à-dire les objets *bucket-name* filtrés par le préfixe*example/*).

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

Pour afficher uniquement les compartiments et les objets d’une région spécifique, utilisez les options `--region`.

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

Si vous disposez d’une longue liste de compartiments et d’objets, vous pouvez paginer les résultats à l’aide des options `--max-items` ou `--page-size`. L’option `--max-items` limite le nombre total de compartiments et d’objets renvoyés lors d’un appel et l’option `--page-size` limite le nombre d’objets répertoriés sur une page.

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

Pour plus d’informations sur la pagination, consultez [Utilisation du paramètre --page-size](cli-usage-pagination.md#cli-usage-pagination-pagesize) et [Utilisation du paramètre --max-items](cli-usage-pagination.md#cli-usage-pagination-maxitems).

## Suppression de compartiments
<a name="using-s3-commands-delete-buckets"></a>

Pour supprimer un compartiment, utilisez la commande [https://docs.aws.amazon.com/cli/latest/reference/s3/rb.html](https://docs.aws.amazon.com/cli/latest/reference/s3/rb.html). 

**Syntaxe**

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

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

L’exemple suivant supprime le compartiment `s3://amzn-s3-demo-bucket`.

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

Par défaut, le compartiment doit être vide pour que l’opération aboutisse. Pour supprimer un compartiment non vide, vous devez inclure l’option `--force`. Si vous utilisez un compartiment avec gestion des versions qui contient des objets précédemment supprimés, mais conservés, cette commande ne vous permet *pas* de supprimer le compartiment. Vous devez d’abord supprimer tout le contenu.

L’exemple suivant supprime tous les objets et préfixes du compartiment, puis supprime le compartiment lui-même.

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

## Suppression d’objets
<a name="using-s3-commands-delete-objects"></a>

Pour supprimer des objets dans un compartiment ou dans votre répertoire local, utilisez la commande [https://docs.aws.amazon.com/cli/latest/reference/s3/rm.html](https://docs.aws.amazon.com/cli/latest/reference/s3/rm.html). 

**Syntaxe**

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

Pour voir quelques options courantes à utiliser avec cette commande, ainsi que des exemples, consultez [Options fréquemment utilisées pour les commandes s3](#using-s3-commands-managing-objects-param). Pour obtenir la liste complète des options, consultez [https://docs.aws.amazon.com/cli/latest/reference/s3/rm.html](https://docs.aws.amazon.com/cli/latest/reference/s3/rm.html) dans la *Référence des commandes de l’AWS CLI *.

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

L’exemple suivant supprime `filename.txt` de `s3://amzn-s3-demo-bucket/example`.

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

L’exemple suivant supprime tous les objets de `s3://amzn-s3-demo-bucket/example` à l’aide de l’option `--recursive`.

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

## Déplacement d’objets
<a name="using-s3-commands-managing-objects-move"></a>

Utilisez la commande [https://docs.aws.amazon.com/cli/latest/reference/s3/mv.html](https://docs.aws.amazon.com/cli/latest/reference/s3/mv.html) pour déplacer des objets depuis compartiment ou un répertoire local. La commande `s3 mv` copie l’objet ou le fichier source vers la destination spécifiée, puis supprime l’objet ou le fichier source.

**Syntaxe**

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

Pour voir quelques options courantes à utiliser avec cette commande, ainsi que des exemples, consultez [Options fréquemment utilisées pour les commandes s3](#using-s3-commands-managing-objects-param). Pour obtenir la liste complète des options disponibles, consultez [https://docs.aws.amazon.com/cli/latest/reference/s3/mv.html](https://docs.aws.amazon.com/cli/latest/reference/s3/mv.html) dans la *Référence des commandes de l’AWS CLI *.

**Avertissement**  
Si vous utilisez n'importe quel type de point d'accès ARNs ou d'alias de point d'accès dans votre source ou votre destination Amazon S3 URIs, vous devez faire très attention à ce que votre Amazon S3 source et destination se URIs résolvent en différents compartiments sous-jacents. Si les compartiments source et de destination sont identiques, le fichier ou l’objet source peut être déplacé sur lui-même, ce qui peut entraîner la suppression accidentelle de votre fichier ou objet source. Pour vérifier que les compartiments source et de destination ne sont pas identiques, utilisez le paramètre `--validate-same-s3-paths` ou définissez la variable d’environnement ``AWS_CLI_S3_MV_VALIDATE_SAME_S3_PATHS`` sur `true`.

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

L’exemple suivant déplace tous les objets de `s3://amzn-s3-demo-bucket/example` vers `s3://amzn-s3-demo-bucket/`.

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

L’exemple suivant déplace un fichier local de votre répertoire de travail actuel vers le compartiment Amazon S3 avec la commande `s3 mv`.

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

L’exemple suivant déplace un fichier de votre compartiment Amazon S3 vers votre répertoire de travail actuel, où `./` spécifie votre répertoire de travail actuel.

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

## Copie d’objets
<a name="using-s3-commands-managing-objects-copy"></a>

Utilisez la commande [https://docs.aws.amazon.com/cli/latest/reference/s3/cp.html](https://docs.aws.amazon.com/cli/latest/reference/s3/cp.html) pour copier des objets depuis un compartiment ou un répertoire local. 

**Syntaxe**

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

Vous pouvez utiliser le paramètre dash pour la diffusion de fichiers vers une entrée standard (`stdin`) ou une sortie standard (`stdout`). 

**Avertissement**  
Si vous l'utilisez PowerShell, le shell peut modifier le codage d'un CRLF ou ajouter un CRLF à une entrée ou à une sortie redirigée, ou à une sortie redirigée.

La commande `s3 cp` utilise la syntaxe suivante pour charger un flux de fichiers de `stdin` vers un compartiment spécifié.

**Syntaxe**

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

La commande `s3 cp` utilise la syntaxe suivante pour télécharger un flux de fichiers Amazon S3 pour `stdout`.

**Syntaxe**

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

Pour voir quelques options courantes à utiliser avec cette commande, ainsi que des exemples, consultez [Options fréquemment utilisées pour les commandes s3](#using-s3-commands-managing-objects-param). Pour obtenir la liste complète des options disponibles, consultez [https://docs.aws.amazon.com/cli/latest/reference/s3/cp.html](https://docs.aws.amazon.com/cli/latest/reference/s3/cp.html) dans la *Référence des commandes de l’AWS CLI *.

### Exemples pour l’`s3 cp`
<a name="using-s3-commands-managing-objects-copy-examples"></a>

L’exemple suivant copie tous les objets de `s3://amzn-s3-demo-bucket/example` vers `s3://amzn-s3-demo-bucket/`.

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

L’exemple suivant copie un fichier local de votre répertoire de travail actuel dans le compartiment Amazon S3 avec la commande `s3 cp`.

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

L’exemple suivant copie un fichier de votre compartiment Amazon S3 vers votre répertoire de travail actuel, où `./` spécifie votre répertoire de travail actuel.

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

L’exemple suivant utilise echo pour diffuser le texte « hello world » dans le fichier `s3://bucket-name/filename.txt`.

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

L’exemple suivant diffuse le fichier `s3://amzn-s3-demo-bucket/filename.txt` dans `stdout` et en imprime le contenu dans la console.

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

L’exemple suivant diffuse le contenu de `s3://bucket-name/pre` dans `stdout`, utilise la commande `bzip2` pour compresser les fichiers et charge le nouveau fichier compressé nommé `key.bz2` dans `s3://bucket-name`.

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

## Synchronisation d’objets
<a name="using-s3-commands-managing-objects-sync"></a>

La commande [https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html](https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html) synchronise les contenus d’un compartiment et d’un répertoire ou le contenu de deux compartiments. Normalement, `s3 sync` copie les fichiers ou objets manquants ou obsolètes entre la source et la cible. Cependant, vous pouvez également indiquer l’option `--delete` pour supprimer de la cible les fichiers ou les objets qui ne sont pas présents dans la source. 

**Syntaxe**

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

Pour voir quelques options courantes à utiliser avec cette commande, ainsi que des exemples, consultez [Options fréquemment utilisées pour les commandes s3](#using-s3-commands-managing-objects-param). Pour obtenir la liste complète des options, consultez [https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html](https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html) dans la *Référence des commandes de l’AWS CLI *.

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

L’exemple suivant synchronise le contenu d’un préfixe Amazon S3 nommé *path* dans le compartiment nommé *amzn-s3-demo-bucket* avec le répertoire de travail actuel. 

`s3 sync` met à jour tous les fichiers dont la taille ou l’heure de modification sont différentes de celles des fichiers portant le même nom dans la destination. La sortie affiche les opérations spécifiques effectuées lors de la synchronisation. Notez que l’opération synchronise de manière récursive le sous-répertoire `MySubdirectory` et son contenu avec `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’exemple suivant, qui développe l’exemple précédent, montre comment utiliser l’option `--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
```

Lorsque vous utilisez l’option `--delete`, les options `--exclude` et `--include` peuvent filtrer les fichiers ou les objets à supprimer au cours d’une opération `s3 sync`. Dans ce cas, la chaîne de paramètre doit spécifier les fichiers à exclure de ou à inclure dans la suppression dans le contexte du répertoire ou du compartiment cible. Vous en trouverez un exemple ci-dessous.

```
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
```

## Options fréquemment utilisées pour les commandes s3
<a name="using-s3-commands-managing-objects-param"></a>

Les options suivantes sont fréquemment utilisées pour les commandes décrites dans cette rubrique. Pour une liste complète des options que vous pouvez utiliser sur une commande, consultez la commande spécifique dans le [version 2 du guide de référence](https://docs.aws.amazon.com/cli/latest/reference/index.html).

**acl**  
`s3 sync` et `s3 cp` peuvent utiliser l’option `--acl`. Cela vous permet de définir les autorisations d’accès pour les fichiers copiés sur Amazon S3. L’option `--acl` accepte les valeurs `private`, `public-read` et `public-read-write`. Pour plus d’informations, consultez [Liste ACL prête à l’emploi](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl) dans le *Guide de l’utilisateur Amazon S3*.  

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

**exclude**  
Lorsque vous utilisez la commande `s3 cp`, `s3 mv`, `s3 sync` ou `s3 rm`, vous pouvez filtrer les résultats à l’aide de l’option `--exclude` ou `--include`. L’option `--exclude` définit des règles pour exclure uniquement les objets de la commande, et les options s’appliquent dans l’ordre spécifié. Voici un exemple :  

```
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**  
Lorsque vous utilisez la commande `s3 cp`, `s3 mv`, `s3 sync` ou `s3 rm`, vous pouvez filtrer les résultats à l’aide de l’option `--exclude` ou `--include`. L’option `--include` définit des règles pour inclure uniquement les objets spécifiés pour la commande, et les options s’appliquent dans l’ordre spécifié. Voici un exemple :  

```
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**  
Les commandes `s3 cp`, `s3 mv` et `s3 sync` incluent une option `--grants` qui peut être utilisée pour accorder des autorisations sur l’objet aux utilisateurs ou aux groupes spécifiés. Définissez l’option `--grants` sur une liste d’autorisations à l’aide de la syntaxe suivante. Remplacez `Permission`, `Grantee_Type` et `Grantee_ID` par vos propres valeurs.  
**Syntaxe**  

```
--grants Permission=Grantee_Type=Grantee_ID
         [Permission=Grantee_Type=Grantee_ID ...]
```
Chaque valeur contient les éléments suivants :  
+ *Permission*— Spécifie les autorisations accordées. Cette option peut être définie sur `read`, `readacl`, `writeacl` ou `full`.
+ *Grantee\$1Type*— Spécifie comment identifier le bénéficiaire. Cette option peut être définie sur `uri`, `emailaddress` ou `id`.
+ *Grantee\$1ID*— Spécifie le bénéficiaire en fonction *Grantee\$1Type* de.
  + `uri` : URI du groupe. Pour plus d’informations, consultez [Qui est un bénéficiaire ?](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ACLOverview.html#SpecifyingGrantee)
  + `emailaddress` : adresse e-mail du compte.
  + `id` : ID canonique du compte.
Pour plus d’informations sur le contrôle d’accès Amazon S3, consultez [Contrôle d’accès](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingAuthAccess.html).  
L’exemple suivant copie un objet dans un compartiment. Il accorde des autorisations `read` sur l’objet à tout le monde et des autorisations `full` (`read`, `readacl` et `writeacl`) au compte associé à `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
```
Vous pouvez également spécifier une classe de stockage autre que celle par défaut (`REDUCED_REDUNDANCY` ou `STANDARD_IA`) pour les objets que vous chargez dans Amazon S3. Pour ce faire, utilisez l’option `--storage-class`.  

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

**aucune réécriture**  
Les `s3 sync` commandes `s3 cp``s3 mv`, et incluent une `--no-overwrite` option que vous pouvez utiliser pour empêcher le remplacement d'objets qui existent déjà sur la destination.  
L'exemple suivant copie un objet d'un bucket vers le répertoire local uniquement s'il n'existe pas déjà dans le répertoire local.  

```
$ aws s3 cp --no-overwrite s3://amzn-s3-demo-bucket/file.txt file.txt
```
L'exemple suivant copie de manière récursive des fichiers d'un répertoire local vers un bucket. Il ne copiera que les fichiers qui n'existent pas déjà dans le compartiment.  

```
$ aws s3 cp --recursive --no-overwrite /path/to/demo-files/ s3://amzn-s3-demo-bucket/demo-files/
```
L'exemple suivant déplace un objet d'un répertoire local vers un bucket uniquement s'il n'existe pas déjà dans l'emplacement de destination du bucket.  

```
$ aws s3 mv --no-overwrite file.txt s3://amzn-s3-demo-bucket/file.txt
```
L'exemple suivant synchronise les fichiers d'un répertoire local vers un bucket. Il synchronisera uniquement les fichiers qui n'existent pas déjà dans le compartiment de destination.  

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

**recursive**  
Lorsque vous utilisez cette option, la commande est exécutée sur tous les fichiers ou objets du répertoire ou du préfixe spécifié. L’exemple suivant supprime `s3://amzn-s3-demo-bucket/path` et l’ensemble de son contenu.  

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

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

**AWS CLI référence :**
+ [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)

**Référence du service :**
+ [Utilisation des compartiments Amazon S3](https://docs.aws.amazon.com//AmazonS3/latest/userguide/UsingBucket.html) dans le *Guide de l’utilisateur Amazon S3*
+ [Utilisation des objets Amazon S3](https://docs.aws.amazon.com//AmazonS3/latest/userguide/UsingObjects.html) dans le *Guide de l’utilisateur Amazon S3*
+ [Liste hiérarchique de clés grâce au préfixe et au délimiteur](https://docs.aws.amazon.com//AmazonS3/latest/userguide/ListingKeysHierarchy.html) dans le *Guide de l’utilisateur Amazon S3*
+ [Abandonnez les téléchargements partitionnés vers un compartiment S3 en utilisant le AWS SDK pour .NET (bas niveau)](https://docs.aws.amazon.com//AmazonS3/latest/userguide/LLAbortMPUnet.html) *du guide de l'utilisateur Amazon S3*