

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.

# Organisation, liste et utilisation de vos objets
<a name="organizing-objects"></a>

Dans Amazon S3, vous pouvez utiliser des préfixes pour organiser votre stockage. Un préfixe est un regroupement logique des objets dans un compartiment. La valeur de préfixe est semblable à un nom de répertoire qui vous permet de stocker des données similaires sous le même répertoire d’un compartiment. Lorsque vous chargez des objets par programme, vous pouvez utiliser des préfixes pour organiser vos données.

Dans la console Amazon S3, les préfixes sont appelés dossiers. Vous pouvez afficher tous vos objets et dossiers dans la console S3 en accédant à un compartiment. Vous pouvez également afficher des informations sur chaque objet, y compris les propriétés de l’objet.

Pour en savoir plus sur l’élaboration de liste et l’organisation de vos données dans Amazon S3, consultez les rubriques suivantes.

**Topics**
+ [Organisation des objets à l’aide de préfixes](using-prefixes.md)
+ [Liste des clés d’objet par programme](ListingKeysUsingAPIs.md)
+ [Organisation des objets dans la console Amazon S3 à l’aide de dossiers](using-folders.md)
+ [Affichage des propriétés d’un objet dans la console Amazon S3](view-object-properties.md)
+ [Catégorisation de vos objets à l’aide de balises](object-tagging.md)

# Organisation des objets à l’aide de préfixes
<a name="using-prefixes"></a>

Vous pouvez utiliser des préfixes pour organiser les données que vous stockez dans des compartiments Amazon S3. Un préfixe est une chaîne de caractères au début du nom de la clé d'objet. Il n’a pas de limite de longueur, mais ne peut pas dépasser la longueur du nom de la clé d’objet (1 024 octets). Vous pouvez voir les préfixes comme un moyen d’organiser vos données de la même manière que les répertoires. Toutefois, les préfixes ne sont pas des répertoires.

La recherche par préfixe limite les résultats aux seules clés qui commencent par le préfixe spécifié. Le délimiteur permet à la liste de regrouper toutes les clés qui partagent un préfixe commun dans une seule liste de résultats récapitulative. 

L’objectif des paramètres de préfixe et de délimiteur est de vous aider à organiser et à parcourir hiérarchiquement les clés. Pour ce faire, choisissez tout d’abord un délimiteur pour le compartiment, comme une barre oblique (/), qui n’est présent dans aucun des noms de clés anticipés. Vous pouvez utiliser un autre caractère comme délimiteur. La barre oblique (/) n’est pas unique, mais elle est un délimiteur de préfixe très courant. Ensuite, créez les noms de clés en concaténant tous les niveaux de contenu de la hiérarchie, en séparant chaque niveau avec le délimiteur. 

Par exemple, si vous stockez des informations sur des villes, vous devez naturellement les organiser par continent, puis par pays, puis par province ou état. Étant donné que ces noms ne contiennent généralement pas de ponctuation, vous devez utiliser une barre oblique (/) comme délimiteur. Les exemples suivants utilisent une barre oblique (/) comme délimiteur.
+ Europe/France/Nouvelle-Aquitaine/Bordeaux
+ Nord America/Canada/Quebec/Montreal
+ Nord America/USA/Washington/Bellevue
+ Nord America/USA/Washington/Seattle

Si vous stockez des données pour chaque ville du monde de cette façon, il apparaît curieux de gérer un espace de noms de clé horizontal. Grâce au `Prefix` et au `Delimiter` avec l’opération de la liste, vous pouvez utiliser la hiérarchie que vous avez créée pour lister les données. Par exemple, pour lister tous les États des États-Unis, configurez `Delimiter='/'` et `Prefix='North America/USA/'`. Pour lister toutes les provinces du Canada pour lesquelles vous avez des données, configurez `Delimiter='/'` et `Prefix='North America/Canada/'`.

Pour plus d’informations sur les délimiteurs, les préfixes et les dossiers imbriqués, consultez [Difference between prefixes and nested folders](https://repost.aws/knowledge-center/s3-prefix-nested-folders-difference) (Différence entre les préfixes et les dossiers imbriqués).

## Liste d’objets à l’aide de préfixes et de délimiteurs
<a name="prefixes-list-example"></a>

Si vous demandez une liste avec un délimiteur, vous pouvez parcourir la hiérarchie sur un seul niveau en passant et en résumant les (éventuels millions de) clés qui se trouvent dans les niveaux suivants. Par exemple, supposons que vous possédez un compartiment (*amzn-s3-demo-bucket*) avec les clés suivantes :

`sample.jpg` 

`photos/2006/January/sample.jpg` 

`photos/2006/February/sample2.jpg` 

`photos/2006/February/sample3.jpg` 

`photos/2006/February/sample4.jpg` 

L’exemple de compartiment ne dispose que de l’objet `sample.jpg` à la racine. Pour lister uniquement les objets au niveau racine du compartiment, vous envoyez une demande GET sur le compartiment avec la barre oblique (`/`) comme délimiteur. En réponse, Simple Storage Service (Amazon S3) renvoie la clé de l’objet `sample.jpg`, car elle ne contient pas le délimiteur `/`. Toutes les autres clés contiennent le délimiteur. Simple Storage Service (Amazon S3) regroupe ces clés et renvoie un seul élément `CommonPrefixes` avec la valeur de préfixe `photos/`, qui est une sous-chaîne du début de ces clés jusqu’à la première occurrence du délimiteur spécifié.

**Example**  

```
 1. <ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
 2.   <Name>amzn-s3-demo-bucket</Name>
 3.   <Prefix></Prefix>
 4.   <Marker></Marker>
 5.   <MaxKeys>1000</MaxKeys>
 6.   <Delimiter>/</Delimiter>
 7.   <IsTruncated>false</IsTruncated>
 8.   <Contents>
 9.     <Key>sample.jpg</Key>
10.     <LastModified>2011-07-24T19:39:30.000Z</LastModified>
11.     <ETag>&quot;d1a7fb5eab1c16cb4f7cf341cf188c3d&quot;</ETag>
12.     <Size>6</Size>
13.     <Owner>
14.       <ID>75cc57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a</ID>
15.     </Owner>
16.     <StorageClass>STANDARD</StorageClass>
17.   </Contents>
18.   <CommonPrefixes>
19.     <Prefix>photos/</Prefix>
20.   </CommonPrefixes>
21. </ListBucketResult>
```

Pour plus d’informations sur la liste des clés d’objet par programme, consultez [Liste des clés d’objet par programme](ListingKeysUsingAPIs.md).

# Liste des clés d’objet par programme
<a name="ListingKeysUsingAPIs"></a>

Dans Amazon S3, les clés peuvent être répertoriées par préfixe. Vous pouvez choisir un préfixe commun pour les noms des clés associées et marquer ces clés avec un caractère spécial délimitant la hiérarchie. Vous pouvez ensuite utiliser l’opération de liste pour sélectionner et parcourir les clés de manière hiérarchique. Cette méthode ressemble au stockage des fichiers dans les répertoires d’un système de fichiers. 

Amazon S3 expose une opération de liste qui vous permet d’énumérer les clés contenues dans un compartiment. Les clés sont sélectionnées par compartiment et préfixe. Par exemple, prenez un compartiment appelé « `dictionary` » qui contient une clé pour chaque mot anglais. Vous devez faire un appel pour lister toutes les clés dans le compartiment qui commencent par la lettre « q ». Les résultats de la liste sont toujours renvoyés dans un ordre binaire UTF-8. 

 Les opérations de la liste SOAP et REST renvoient un document XML qui contient les noms des clés correspondantes et les informations sur l’objet identifié par chaque clé. 

**Note**  
 Les SOAP APIs pour Amazon S3 ne sont pas disponibles pour les nouveaux clients et approchent de leur fin de vie (EOL) le 31 août 2025. Nous vous recommandons d'utiliser l'API REST ou le AWS SDKs. 

Les groupes de clés qui partagent un préfixe se terminant par un délimiteur spécial peuvent être regroupés par ce préfixe commun pour les besoins de la liste. Cela permet aux applications d’organiser et de parcourir hiérarchiquement les clés, comme vous organiseriez des fichiers dans les répertoires d’un système de fichiers. 

Par exemple, pour que le compartiment dictionnaire contienne plus que des mots anglais, vous devez former des clés en ajoutant un préfixe à chaque mot avec sa langue et un délimiteur, comme « `French/logical` ». Grâce à cette dénomination et à la fonction de liste hiérarchique, vous pouvez récupérer une liste de mots français. Vous pouvez également parcourir la liste de niveau supérieur des langues disponibles sans avoir à itérer sur toutes les clés d’intervention de manière lexicographique. Pour en savoir plus sur cet aspect de la liste, consultez [Organisation des objets à l’aide de préfixes](using-prefixes.md). 

**API REST**  
Si l’application l’exige, vous pouvez envoyer les demandes REST directement. Vous pouvez envoyer une demande GET pour renvoyer tout ou partie des objets d’un compartiment. Vous pouvez aussi utiliser des critères de sélection pour renvoyer un sous-ensemble d’objets d’un compartiment. Pour plus d’informations, consultez [GET Bucket (List Objects) version 2](https://docs.aws.amazon.com/AmazonS3/latest/API/v2-RESTBucketGET.html) dans la *Référence des API Amazon Simple Storage Service*.

**Efficacité de l’implémentation d’une liste**  
Les performances de la liste ne sont pas significativement affectées par le nombre total de clés dans votre compartiment. Elles ne sont pas non plus affectées par la présence ou l’absence des arguments `prefix`, `marker`, `maxkeys`, ou `delimiter`. 

**Itération sur des résultats de plusieurs pages**  
Etant donné que les compartiments peuvent contenir un nombre presque illimité de clés, les résultats complets d’une requête de liste peuvent être très importants. Pour gérer d’importants ensembles de résultats, l’API Amazon S3 prend en charge la pagination afin de les scinder en plusieurs réponses. Chaque réponse de clés de liste renvoie une page de 1 000 clés maximum avec un indicateur spécifiant si la réponse est tronquée. Vous envoyez une série de demandes de clés de liste jusqu'à ce que vous ayez reçu toutes les clés. AWS Les bibliothèques wrapper du SDK fournissent la même pagination. 

## Exemples
<a name="ListingKeysUsingAPIs_examples"></a>

Lorsque vous répertoriez tous les objets de votre compartiment, notez que vous devez disposer de l’autorisation `s3:ListBucket`.

------
#### [ CLI ]

**list-objects**  
L’exemple suivant utilise la commande `list-objects` pour afficher le nom de tous les objets du compartiment spécifié :  

```
aws s3api list-objects --bucket text-content --query 'Contents[].{Key: Key, Size: Size}'
```
L’exemple utilise l’argument `--query` pour filtrer la sortie `list-objects` jusqu’à la valeur de clé et la taille de chaque objet.  
Pour en savoir plus sur les objets, consultez [Utilisation des objets dans Amazon S3](uploading-downloading-objects.md).  
+  Pour plus de détails sur l'API, reportez-vous [ListObjects](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/list-objects.html)à la section *Référence des AWS CLI commandes*. 

**ls**  
L’exemple suivant répertorie tous les objets et préfixes d’un compartiment à l’aide de la commande `ls`.  
Pour utiliser cet exemple de commande, remplacez **amzn-s3-demo-bucket** par le nom de votre compartiment.  

```
$ aws s3 ls s3://amzn-s3-demo-bucket
```
+  Pour plus d’informations sur la commande de haut niveau `ls`, consultez [Répertorier les compartiments et les objets](https://docs.aws.amazon.com/cli/latest/userguide/cli-services-s3-commands.html#using-s3-commands-listing-buckets) dans le *Guide de l’utilisateur AWS Command Line Interface *. 

------
#### [ PowerShell ]

**Outils pour PowerShell V4**  
**Exemple 1 : Cette commande récupère les informations relatives à tous les éléments du compartiment « test-files ».**  

```
Get-S3Object -BucketName amzn-s3-demo-bucket
```
**Exemple 2 : Cette commande récupère les informations relatives à l’élément « sample.txt » depuis le compartiment « test-files ».**  

```
Get-S3Object -BucketName amzn-s3-demo-bucket -Key sample.txt
```
**Exemple 3 : Cette commande récupère les informations relatives à tous les éléments portant le préfixe « sample » à partir du compartiment « test-files ».**  

```
Get-S3Object -BucketName amzn-s3-demo-bucket -KeyPrefix sample
```
+  Pour plus de détails sur l'API, reportez-vous [ListObjects](https://docs.aws.amazon.com/powershell/v4/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V4)*. 

**Outils pour PowerShell V5**  
**Exemple 1 : Cette commande récupère les informations relatives à tous les éléments du compartiment « test-files ».**  

```
Get-S3Object -BucketName amzn-s3-demo-bucket
```
**Exemple 2 : Cette commande récupère les informations relatives à l’élément « sample.txt » depuis le compartiment « test-files ».**  

```
Get-S3Object -BucketName amzn-s3-demo-bucket -Key sample.txt
```
**Exemple 3 : Cette commande récupère les informations relatives à tous les éléments portant le préfixe « sample » à partir du compartiment « test-files ».**  

```
Get-S3Object -BucketName amzn-s3-demo-bucket -KeyPrefix sample
```
+  Pour plus de détails sur l'API, reportez-vous [ListObjects](https://docs.aws.amazon.com/powershell/v5/reference)à la section *Référence des Outils AWS pour PowerShell applets de commande (V5)*. 

------

# Organisation des objets dans la console Amazon S3 à l’aide de dossiers
<a name="using-folders"></a>

Dans les compartiments à usage général Amazon S3, les objets sont les ressources principales. Ils sont stockés dans des compartiments. Les compartiments à usage général Amazon S3 possèdent une structure horizontale, et non une hiérarchie comme dans un système de fichiers. Toutefois, par souci de simplification organisationnelle, la console Amazon S3 supporte le concept de *dossier* comme moyen de regrouper des objets. Pour ce faire, la console utilise un *préfixe* de nom partagé pour les objets groupés. En d’autres termes, les objets de groupe ont des noms qui commencent par une chaîne commune. Cette chaîne commune, ou préfixe partagé, est le nom du dossier. Les noms d’objet sont également appelés *noms de clé*.

Par exemple, vous pouvez créer dans la console un dossier dans un compartiment à usage général nommé `photos` et y stocker un objet nommé `myphoto.jpg`. L’objet est ensuite stocké avec le nom de clé `photos/myphoto.jpg`, dans lequel le préfixe est `photos/`.

Voici deux exemples supplémentaires : 
+ Si votre compartiment à usage général comprend trois objets (`logs/date1.txt`, `logs/date2.txt` et `logs/date3.txt`), la console affiche un dossier nommé `logs`. Si vous ouvrez le dossier dans la console, vous voyez les trois objets : `date1.txt`, `date2.txt` et `date3.txt`.
+ Si vous possédez un objet nommé `photos/2017/example.jpg`, la console affiche un dossier nommé `photos` qui contient le dossier `2017`. Le dossier `2017` contient l’objet `example.jpg`.

Vous pouvez avoir des dossiers dans d’autres dossiers, mais pas de compartiments dans d’autres compartiments. Vous pouvez charger et copier des objets directement dans un dossier. Les dossiers peuvent être créés, supprimés et rendus publics, mais ils ne peuvent pas être renommés. Des objets peuvent être copiés d’un dossier vers un autre. 

**Important**  
Lorsque vous créez un dossier dans la console Amazon S3, S3 crée un objet de 0 octet. Cette clé d’objet est définie sur le nom du dossier que vous avez fourni, suivi d’une barre oblique (`/`). Par exemple, si vous créez un dossier nommé `photos` dans votre compartiment dans la console Amazon S3, celle-ci crée un objet de 0 octet avec la clé `photos/`. La console crée cet objet pour prendre en charge les dossiers.   
De même, tout objet préexistant dont le nom se termine par une barre oblique (`/`) apparaît en tant que dossier dans la console Amazon S3. Par exemple, un objet portant le nom de clé `examplekeyname/` apparaît en tant que dossier dans la console Amazon S3 et non en tant qu’objet. Sinon, il se comporte comme n'importe quel autre objet et peut être visualisé et manipulé via l'API AWS Command Line Interface (AWS CLI) ou REST. AWS SDKs En outre, vous ne pouvez pas charger un objet qui possède un nom de clé qui se termine par une barre oblique (`/`) à l’aide de la console Amazon S3. Cependant, vous pouvez télécharger des objets nommés par une barre oblique (`/`) à l'aide de l'API AWS Command Line Interface (AWS CLI) ou REST. AWS SDKs   
De plus, la console Amazon S3 n’affiche pas le contenu et les métadonnées des objets du dossier comme elle fait pour les autres objets. Lorsque vous utilisez la console pour copier un objet dont le nom se termine par une barre oblique (`/`), un dossier est créé dans l’emplacement de destination, mais les données et métadonnées de l’objet ne sont pas copiées. En outre, une barre oblique (`/`) dans les noms des clés d’objet peut nécessiter un traitement spécial. Pour de plus amples informations, veuillez consulter [Attribution d’un nom aux objets Amazon S3](object-keys.md).

Pour créer des dossiers dans des compartiments de répertoires, chargez un dossier. Pour de plus amples informations, veuillez consulter [Chargement d’objets dans un compartiment de répertoires](directory-buckets-objects-upload.md).

**Topics**
+ [Création d’un dossier](#create-folder)
+ [Rendre les dossiers publics](#public-folders)
+ [Calcul de la taille d’un dossier](#calculate-folder)
+ [Suppression de dossiers](#delete-folders)

## Création d’un dossier
<a name="create-folder"></a>

Cette section décrit comment utiliser la console Simple Storage Service (Amazon S3) pour créer un dossier.

**Important**  
Si votre stratégie de compartiment empêche le chargement d’objets dans ce compartiment sans balises, métadonnées ni bénéficiaires de liste de contrôle d’accès (ACL), vous ne pouvez pas créer de dossier à l’aide de la procédure suivante. Au lieu de cela, chargez un dossier vide et spécifiez les paramètres suivants dans la configuration de chargement.

**Pour créer un dossier**

1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Dans le volet de navigation de gauche, choisissez **Compartiments à usage général**.

1. Dans la liste des compartiments, choisissez le nom du compartiment dans lequel vous souhaitez créer un dossier.

1. Dans l’onglet **Objets**, choisissez **Créer un dossier**.

1. Attribuez un nom au dossier (par exemple, **favorite-pics**). 
**Note**  
Les noms des dossiers sont soumis à certaines limites et directives, et sont considérés comme faisant partie du nom de la clé d’un objet, qui est limité à 1 024 octets. Pour de plus amples informations, veuillez consulter [Attribution d’un nom aux objets Amazon S3](object-keys.md).

1. (Facultatif) Si votre stratégie de compartiment exige le chiffrement des objets avec une clé de chiffrement spécifique, sous **Chiffrement côté serveur**, vous devez choisir **Spécifier une clé de chiffrement** et spécifier la même clé de chiffrement lorsque vous créez un dossier. Sinon, la création du dossier échouera.

1. Choisissez **Créer un dossier**.

## Rendre les dossiers publics
<a name="public-folders"></a>

Nous vous recommandons de bloquer tout l’accès public à vos dossiers et compartiments Amazon S3, à moins que vous ayez besoin spécifiquement d’un dossier ou compartiment public. Lorsque vous rendez public un dossier, quiconque sur Internet peut voir tous les objets qui sont regroupés dans ce dossier. 

Dans la console Amazon S3, vous pouvez rendre public un dossier. Vous pouvez également rendre public un dossier en créant une stratégie de compartiment qui limite l’accès aux données par préfixe. Pour de plus amples informations, veuillez consulter [Gestion des identités et des accès pour Amazon S3](security-iam.md). 

**Avertissement**  
Une fois que vous avez rendu public un dossier dans la console Amazon S3, vous ne pouvez pas le rendre à nouveau privé. Au lieu de cela, vous devez définir des autorisations sur chaque objet individuel dans le dossier public de sorte que les objets n’aient pas d’accès public. Pour plus d’informations, consultez [Configuration ACLs](managing-acls.md).

**Topics**
+ [Création d’un dossier](#create-folder)
+ [Rendre les dossiers publics](#public-folders)
+ [Calcul de la taille d’un dossier](#calculate-folder)
+ [Suppression de dossiers](#delete-folders)

## Calcul de la taille d’un dossier
<a name="calculate-folder"></a>

Cette section décrit comment utiliser la console Amazon S3 pour calculer la taille d’un dossier.

**Pour calculer la taille d’un dossier**

1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Dans le volet de navigation de gauche, choisissez **Compartiments à usage général**.

1. Dans la liste **Compartiments à usage général**, choisissez le nom du compartiment dans lequel votre dossier est stocké.

1. Dans la liste **Objets**, cochez la case en regard du nom du dossier.

1. Choisissez **Actions**, puis **Calculate total size** (Calculer la taille totale).

**Note**  
Les informations du dossier (y compris sa taille totale) ne sont plus disponibles une fois que vous quittez la page. Vous devez recalculer la taille totale si vous souhaitez la voir à nouveau. 

**Important**  
Lorsque vous utilisez l’action **Calculate total size** (Calculer la taille totale) sur des objets ou des dossiers spécifiés dans votre compartiment, Amazon S3 calcule le nombre total d’objets et la taille de stockage totale. Toutefois, les téléchargements partitionnés incomplets ou en cours et les versions précédentes ou anciennes ne sont pas inclus dans le calcul du nombre total d’objets ou de la taille totale. Cette action calcule uniquement le nombre total d’objets et la taille totale de la version en cours ou la plus récente de chaque objet stocké dans le compartiment.  
Par exemple, si votre compartiment contient deux versions d’un même objet, le calculateur de stockage d’Amazon S3 les compte comme un seul objet. Par conséquent, le nombre total d'objets calculé dans la console Amazon S3 peut différer du **nombre d'objets** indiqué dans S3 Storage Lens et du nombre indiqué par l' CloudWatch indicateur Amazon,`NumberOfObjects`. De même, la taille de stockage totale peut également différer de la métrique de **stockage total** indiquée dans S3 Storage Lens et de la `BucketSizeBytes` métrique indiquée dans CloudWatch.

## Suppression de dossiers
<a name="delete-folders"></a>

Cette section explique comment utiliser la console Amazon S3 pour supprimer des dossiers d’un compartiment S3. 

Pour plus d’informations sur les fonctionnalités et la tarification d’Amazon S3, consultez [Amazon S3](https://aws.amazon.com/s3/).



**Pour supprimer des dossiers d’un compartiment S3**

1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Dans le volet de navigation de gauche, choisissez **Compartiments à usage général**.

1. Dans la liste **Compartiments à usage général**, choisissez le nom du compartiment dont vous souhaitez supprimer des dossiers.

1. Dans la liste **Objets**, cochez les cases en regard des dossiers et objets que vous souhaitez supprimer.

1. Sélectionnez **Delete (Supprimer)**.

1. Sur la page **Supprimer les objets**, vérifiez que les noms des dossiers et des objets que vous avez sélectionnés pour la suppression figurent sous **Objets spécifiés**.

1. Dans la zone **Supprimer les objets**, saisissez **delete**, et choisissez **Supprimer les objets**.

**Avertissement**  
Cette action supprime tous les objets spécifiés. Lorsque vous supprimez des dossiers, attendez la fin de l’action de suppression pour ajouter de nouveaux objets au dossier. Dans le cas contraire, de nouveaux objets pourraient également être supprimés.

# Affichage des propriétés d’un objet dans la console Amazon S3
<a name="view-object-properties"></a>

Vous pouvez utiliser la console Amazon S3 pour afficher les propriétés d’un objet, y compris la classe de stockage, les paramètres de chiffrement, les étiquettes et les métadonnées.

**Pour afficher les propriétés d’un objet**

1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Dans le volet de navigation de gauche, choisissez **Compartiments à usage général** ou **Compartiments de répertoires**.

1. Dans la liste des compartiments, choisissez le nom du compartiment contenant l’objet.

1. Dans la liste **Objets**, choisissez le nom de l’objet pour lequel vous souhaitez afficher les propriétés.

   La **Présentation de l’objet** de votre objet s’ouvre. Vous pouvez faire défiler l’écran vers le bas pour afficher les propriétés de l’objet.

1. Sur la page **Présentation de l’objet**, vous pouvez afficher ou configurer les propriétés suivantes de l’objet.
**Note**  
Si vous modifiez les propriétés **Storage Class (Classe de stockage)**, **Encryption (Chiffrement)** et **Metadata (Métadonnées)**, un nouvel objet est créé pour remplacer l’ancien. Si la gestion des versions S3 est activée, une nouvelle version de l'objet est créée et l'objet existant devient une version plus ancienne. Le rôle qui modifie la propriété devient également le propriétaire du nouvel objet ou (version de l’objet).
Si vous modifiez les propriétés **Classe de stockage**, **Chiffrement** ou **Métadonnées** d’un objet doté de balises définies par l’utilisateur, vous devez disposer de l’autorisation `s3:GetObjectTagging`. Si vous modifiez ces propriétés pour un objet qui ne possède pas de balises définies par l’utilisateur mais dont la taille est supérieure à 16 Mo, vous devez également disposer de l’autorisation `s3:GetObjectTagging`.  
Si la politique du compartiment de destination refuse l’action `s3:GetObjectTagging`, ces propriétés de l’objet seront mises à jour, mais les balises définies par l’utilisateur seront supprimées de l’objet et vous recevrez un message d’erreur. 

   1. **Storage Class (Classe de stockage)** – Chaque objet dans Amazon S3 possède une classe de stockage qui lui est associée. La classe de stockage que vous choisissez d’utiliser dépend de la fréquence à laquelle vous accédez à l’objet. La classe de stockage par défaut des objets S3 de compartiments à usage général est STANDARD. La classe de stockage par défaut des objets S3 de compartiments de répertoires est S3 Express One Zone. Vous choisissez la classe de stockage à utiliser lors du chargement d’un objet. Pour plus d’informations sur les classes de stockage, consultez [Bien comprendre et gérer les classes de stockage Amazon S3](storage-class-intro.md).

      Pour modifier la classe de stockage après le chargement d’un objet dans un compartiment à usage général, choisissez **Classe de stockage**. Choisissez la classe de stockage de votre choix, puis cliquez sur **Enregistrer**.
**Note**  
La classe de stockage des objets d’un compartiment de répertoires ne peut pas être modifiée.

   1. **Paramètres de chiffrement côté serveur** – Vous pouvez utiliser le chiffrement côté serveur pour chiffrer vos objets S3. Pour plus d’informations, consultez [Spécification du chiffrement côté serveur avec AWS KMS (SSE-KMS)](specifying-kms-encryption.md) ou [Spécification du chiffrement côté serveur avec des clés gérées par Amazon S3 (SSE-S3)](specifying-s3-encryption.md). 

   1. **Metadata (Métadonnées)** – Chaque objet dans Amazon S3 possède un ensemble de paires nom-valeur qui représente ses métadonnées. Pour en savoir plus sur l’ajout de métadonnées à un objet S3, consultez [Modification des métadonnées d’objet dans la console Amazon S3](add-object-metadata.md).

   1. **Balises** : vous catégorisez le stockage en ajoutant des balises à un objet S3 d’un compartiment à usage général. Pour de plus amples informations, veuillez consulter [Catégorisation de vos objets à l’aide de balises](object-tagging.md).

   1. **Conservation légale et rétention du verrouillage d’objet** : vous pouvez empêcher la suppression d’un objet d’un compartiment à usage général. Pour de plus amples informations, veuillez consulter [Verrouillage d’objets avec la fonctionnalité de verrouillage d’objet](object-lock.md).

# Catégorisation de vos objets à l’aide de balises
<a name="object-tagging"></a>

Utilisez le balisage des objets pour classer le stockage par catégorie. Chaque balise est une paire clés-valeurs.

Vous pouvez ajouter des balises à de nouveaux objets lorsque vous les chargez ou vous pouvez les ajouter à des objets existants. 
+ Vous pouvez associer jusqu’à 10 balises à un objet. Les balises associées à un objet doivent avoir des clés de balise uniques.
+ Une clé de balise peut comporter jusqu’à 128 caractères Unicode et les valeurs de balise peuvent comporter jusqu’à 256 caractères Unicode. Les balises d’objet Amazon S3 sont représentées en interne en UTF-16. Notez qu’en UTF-16, les caractères occupent une ou deux positions de caractère.
+ La clé et les valeurs sont sensibles à la casse.
+ Pour plus d’informations sur les restrictions liées aux balises, consultez [Restrictions encadrant les balises définies par l’utilisateur](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/custom-tags.html#allocation-tag-restrictions) dans le *Guide de l’utilisateur de Facturation et gestion des coûts AWS *. Pour connaître les restrictions de base sur les balises, consultez [Restrictions liées aux balises](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-restrictions) dans le *Guide de l’utilisateur Amazon EC2*.

**Exemples**  
Considérez les exemples de balisage suivants :

**Example Informations PHI**  
Supposons qu’un objet contienne des données relatives aux infos santé protégées (PHI, Protected Health Information). Vous pouvez baliser l’objet à l’aide de la paire clé-valeur suivante.  

```
PHI=True
```
ou  

```
Classification=PHI
```

**Example Fichiers de projet**  
Supposons que vous stockiez des fichiers de projet dans votre compartiment S3. Vous pouvez baliser ces objets avec une clé nommée `Project` et une valeur, comme illustré ci-après.  

```
Project=Blue
```

**Example Plusieurs balises**  
Vous pouvez ajouter plusieurs balises à un objet, comme illustré ci-après.  

```
Project=x
Classification=confidential
```

**Préfixes de nom de clé et balises**  
Les préfixes des noms des clés d’objet vous permettent également de classer le stockage. Cependant, le classement basé sur les préfixes est unidimensionnel. Examinez les noms de clés d’objet suivants :

```
photos/photo1.jpg
project/projectx/document.pdf
project/projecty/document2.pdf
```

Ces noms de clés ont les préfixes `photos/`, `project/projectx/` et `project/projecty/`. Ces préfixes permettent un classement par catégorie unidimensionnel. Autrement dit, tout élément sous un préfixe est une catégorie. Par exemple, le préfixe `project/projectx` identifie tous les documents liés au projet x.

Le balisage vous propose maintenant une autre dimension. Si vous souhaitez photo1 dans la catégorie de projet x, vous pouvez baliser l’objet en conséquence.

**Autres avantages**  
Outre la classification des données, le balisage offre d’autres avantages, notamment :
+ Les balises d’objets permettent un contrôle d’accès précis des autorisations. Par exemple, vous pouvez accorder à un utilisateur les autorisations de lire uniquement des objets avec des balises spécifiques.
+ Les balises d’objets permettent une gestion du cycle de vie des objets précise dans laquelle vous pouvez spécifier un filtre basé sur des balises, en plus du préfixe de nom de clé, dans une règle de cycle de vie.
+ Si vous utilisez Analyses Amazon S3, vous pouvez configurer des filtres pour regrouper des objets pour l’analyse par balises d’objets, par préfixe de nom de clé ou à la fois par préfixe et par balises.
+ Vous pouvez également personnaliser CloudWatch les statistiques Amazon pour afficher les informations par le biais de filtres de balises spécifiques. Consultez les sections suivantes pour obtenir des détails.

**Important**  
Il est acceptable d’utiliser des balises pour étiqueter des objets contenant des données confidentielles, par exemple, des données d’identification personnelle (PII) ou des informations santé protégées. Néanmoins, les balises à proprement dit ne doivent pas contenir d’informations confidentielles. 

**Ajout d’ensembles de balises d’objet à plusieurs objets Amazon S3 avec une seule requête**  
Pour ajouter des ensembles de balises d’objets à plusieurs objets Amazon S3 avec une seule demande, vous pouvez utiliser la tâche d’opérations par lots S3. Vous fournissez à la fonctionnalité d’opérations par lots S3 une liste d’objets sur lesquels effectuer des opérations. La fonctionnalité des opérations par lot S3 appelle l’opération d’API respective pour effectuer l’opération spécifiée. Une seule tâche Batch Operations peut effectuer l’opération spécifiée sur des milliards d’objets contenant des exaoctets de données. 

La fonctionnalité d’opérations par lot S3 suit la progression, envoie des notifications et stocke un rapport de fin détaillé sur toutes les actions, offrant ainsi une expérience sans serveur entièrement gérée et qui peut être vérifiée. Vous pouvez utiliser S3 Batch Operations via la console Amazon S3 ou AWS SDKs l'API REST. AWS CLI Pour de plus amples informations, veuillez consulter [Principes de base de S3 Batch Operations](batch-ops.md#batch-ops-basics).

Pour en savoir plus sur les balises d’objet, consultez [Gestion des balises d’objets](tagging-managing.md).

## Opérations API associées au balisage des objets
<a name="tagging-apis"></a>

Amazon S3 prend en charge les opérations API suivantes qui sont spécifiques au balisage des objets :

**Opérations d’API sur les objets**
+  [PUT Object Tagging](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUTtagging.html) – Remplace les balises sur un objet. Vous spécifiez des balises dans le corps de la demande. Il existe deux scénarios distincts de gestion des balises d’objets à l’aide de cette API.
  + L’objet n’a aucune balise – A l’aide de cette API, vous pouvez ajouter un ensemble de balises à un objet (l’objet n’a pas de balises précédentes).
  + L’objet a un ensemble de balises existantes – Pour modifier l’ensemble de balises existant, vous devez tout d’abord le récupérer, le modifier côté client, puis utiliser cette API pour le remplacer.
**Note**  
 Si vous envoyez cette demande avec un ensemble de balises vide, Amazon S3 supprime l’ensemble de balises existant de l’objet. Si vous utilisez cette méthode, vous serez facturé pour une demande de Niveau 1 (PUT). Pour de plus amples informations, veuillez consulter [Tarification Amazon S3](https://d0.awsstatic.com/whitepapers/aws_pricing_overview.pdf).  
Il est préférable d’utiliser la demande [DELETE Object Tagging](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETEtagging.html), car elle produit le même résultat sans entraîner de frais. 
+  [GET Object Tagging](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectGETtagging.html) – Retourne l’ensemble de balises associé à un objet. Amazon S3 retourne des balises d’objets dans le corps de la réponse.
+ [DELETE Object Tagging](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETEtagging.html) – Supprime l’ensemble de balises associé à un objet. 

**Autres opérations d’API prenant en charge le balisage**
+  [PUT Object](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUT.html) et [Initiate Multipart Upload](https://docs.aws.amazon.com/AmazonS3/latest/API/mpUploadInitiate.html) – Vous pouvez spécifier des balises lorsque vous créez des objets. Vous spécifiez les balises à l’aide de l’en-tête de demande `x-amz-tagging`. 
+  [GET Object](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectGET.html) - Au lieu de retourner l’ensemble de balises, Amazon S3 retourne le nombre de balises d’objets dans l’en-tête `x-amz-tag-count` (uniquement si le demandeur dispose des autorisations de lecture des balises), car la taille de l’en-tête de réponse est limitée à 8 Ko. Si vous souhaitez afficher les balises, vous effectuez une autre demande pour l’opération d’API [GET Object Tagging](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectGETtagging.html).
+ [POST Object](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html) – Vous pouvez spécifier les balises dans votre demande POST. 

  Tant que les balises dans votre demande ne dépassent pas la limite de taille de l’en-tête de demande HTTP de 8 Ko, vous pouvez utiliser l’API `PUT Object `pour créer des objets avec des balises. Si les balises que vous spécifiez dépassent la limite de taille de l’en-tête, vous pouvez utiliser cette méthode POST dans le corps de laquelle vous incluez les balises. 

   [PUT Object - Copy](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectCOPY.html) – Vous pouvez spécifier `x-amz-tagging-directive` dans votre demande pour indiquer à Amazon S3 de copier (comportement par défaut) les balises ou de les remplacer par un nouvel ensemble de balises fourni dans la demande. 

Remarques :
+ Le balisage d’objet S3 est fortement cohérent. Pour de plus amples informations, veuillez consulter [Modèle de cohérence des données Amazon S3](Welcome.md#ConsistencyModel). 

## Configurations supplémentaires
<a name="tagging-other-configs"></a>

Cette section explique comment le balisage des objets est lié à d’autres configurations.

### Balisage des objets et gestion du cycle de vie
<a name="tagging-and-lifecycle"></a>

Dans la configuration du cycle de vie du compartiment, vous pouvez spécifier un filtre pour sélectionner un sous-ensemble des objets auquel s’applique la règle. Vous pouvez spécifier un filtre basé sur les préfixes des noms de clés, les balises d’objets, ou les deux. 

Supposons que vous stockiez des photos (aux formats brut et final) dans votre compartiment Amazon S3. Vous pouvez baliser ces objets comme illustré ci-après. 

```
phototype=raw
or
phototype=finished
```

Vous pouvez envisager d’archiver les photos au format brut dans Amazon Glacier quelque temps après leur création. Vous pouvez configurer une règle de cycle de vie avec un filtre qui identifie le sous-ensemble des objets avec le préfixe de nom de clé (`photos/`) qui ont une balise spécifique (`phototype=raw`). 

Pour de plus amples informations, veuillez consulter [Gestion du cycle de vie des objets](object-lifecycle-mgmt.md). 

### Balisage et réplication d’objets
<a name="tagging-and-replication"></a>

Si vous avez configuré la réplication sur votre compartiment, Amazon S3 réplique les balises, à condition que vous ayez accordé à Amazon S3 l’autorisation de lire les balises. Pour de plus amples informations, veuillez consulter [Présentation de la configuration de la réplication en direct](replication-how-setup.md).

### Notifications d’événement d’identification d’objet
<a name="tagging-and-event-notifications"></a>

Vous pouvez configurer une notification d’événement Amazon S3 afin de recevoir une notification lorsqu’une étiquette d’objet est ajoutée ou supprimée d’un objet. Le type d’événement `s3:ObjectTagging:Put` vous avertit lorsqu’une étiquette est PUT sur un objet ou lorsqu’une étiquette existante est mise à jour. Le type d’événement `s3:ObjectTagging:Delete` vous avertit lorsqu’une étiquette est supprimée d’un objet. Pour plus d’informations, consultez [ Activation des notifications d’événement](https://docs.aws.amazon.com/AmazonS3/latest/userguide/how-to-enable-disable-notification-intro.html).

Pour plus d’informations sur le balisage d’objets, consultez les rubriques suivantes :

**Topics**
+ [Opérations API associées au balisage des objets](#tagging-apis)
+ [Configurations supplémentaires](#tagging-other-configs)
+ [Stratégies de balisage et de contrôle d’accès](tagging-and-policies.md)
+ [Gestion des balises d’objets](tagging-managing.md)

# Stratégies de balisage et de contrôle d’accès
<a name="tagging-and-policies"></a>

Vous pouvez également utiliser des stratégies d’autorisations (stratégies de compartiment et stratégies utilisateur) pour gérer les autorisations associées au balisage des objets. Pour les actions des stratégies, consultez les rubriques suivantes : 
+  [Opérations d’objet](security_iam_service-with-iam.md#using-with-s3-actions-related-to-objects) 
+  [Opérations de compartiment](security_iam_service-with-iam.md#using-with-s3-actions-related-to-buckets)

Les balises d’objets permettent un contrôle d’accès précis pour la gestion des autorisations. Vous pouvez accorder des autorisations conditionnelles basées sur les balises d’objets. Amazon S3 prend en charge les clés de condition suivantes que vous pouvez utiliser pour accorder des autorisations conditionnelles basées sur les balises d’objets.
+ `s3:ExistingObjectTag/<tag-key>` – Utilisez cette clé de condition pour vérifier qu’une balise d’objet existante possède la clé de balise et la valeur spécifiques. 
**Note**  
Lors de l’octroi des autorisations pour les opérations `PUT Object` et `DELETE Object`, cette clé de condition n’est pas prise en charge. Autrement dit, vous ne pouvez pas créer une stratégie pour accorder ou refuser à un utilisateur les autorisations de supprimer ou de remplacer un objet en fonction de ses balises existantes. 
+ `s3:RequestObjectTagKeys` – Utilisez cette clé de condition pour limiter les clés de balise que vous voulez autoriser sur les objets. Cela est utile lorsque vous ajoutez des balises à des objets à l'aide PutObjectTagging des PutObject requêtes d'objets and et POST.
+ `s3:RequestObjectTag/<tag-key>` – Utilisez cette clé de condition pour limiter les clés de balise et valeurs que vous voulez autoriser sur les objets. Cela est utile lorsque vous ajoutez des balises à des objets à l'aide PutObjectTagging des PutObject requêtes and et POST Bucket.

Pour obtenir la liste complète des clés de condition spécifiques au service Amazon S3, consultez [Exemples de politiques de compartiment utilisant des clés de condition](amazon-s3-policy-keys.md). Les stratégies d’autorisations suivantes illustrent la façon dont le balisage des objets permet une gestion précise des autorisations d’accès.

**Example 1 : autoriser un utilisateur à lire uniquement les objets qui ont une valeur de clé et une étiquette spécifiques**  
La politique d’autorisations suivante limite un utilisateur à la seule lecture des objets qui comportent la clé et la valeur d’étiquette `environment: production`. Cette politique utilise la clé de condition `s3:ExistingObjectTag` pour spécifier la clé et la valeur d’étiquette.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
  {
    "Principal": {
      "AWS": [
        "arn:aws:iam::111122223333:role/JohnDoe"
      ]
    },
    "Effect": "Allow",
    "Action": ["s3:GetObject", "s3:GetObjectVersion"],
    "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
    "Condition": {
      "StringEquals": 
        {"s3:ExistingObjectTag/environment": "production"}
    }
  }
  ]
}
```

**Example 2 : restreindre les clés d’étiquette d’objet que les utilisateurs peuvent ajouter**  
La stratégie d’autorisations suivante accorde à un utilisateur les autorisations d’effectuer l’action `s3:PutObjectTagging`, ce qui lui permet d’ajouter des balises à un objet existant. La condition utilise la clé de condition `s3:RequestObjectTagKeys` pour spécifier les clés d’étiquette autorisées, telles que `Owner` ou `CreationDate`. Pour plus d’informations, consultez [Création d’une condition avec plusieurs clés ou valeurs](https://docs.aws.amazon.com//IAM/latest/UserGuide/reference_policies_multi-value-conditions.html) dans le *Guide de l’utilisateur IAM*.  
Cette politique garantit que chaque clé d’étiquette spécifiée dans la demande est une clé d’étiquette autorisée. Le qualificateur `ForAnyValue` dans la condition garantit qu’au moins une des clés spécifiées doit être présente dans la demande.    
****  

```
{
   "Version":"2012-10-17",		 	 	 
  "Statement": [
    {"Principal":{"AWS":[
            "arn:aws:iam::111122223333:role/JohnDoe"
         ]
       },
 "Effect": "Allow",
      "Action": [
        "s3:PutObjectTagging"
      ],
      "Resource": [
        "arn:aws:s3:::amzn-s3-demo-bucket/*"
      ],
      "Condition": {"ForAnyValue:StringEquals": {"s3:RequestObjectTagKeys": [
            "Owner",
            "CreationDate"
          ]
        }
      }
    }
  ]
}
```

**Example 3 : exiger une clé et une valeur d’étiquette spécifiques pour permettre aux utilisateurs d’ajouter des étiquettes d’objet**  
L’exemple de politique suivant accorde à un utilisateur l’autorisation d’exécuter l’action `s3:PutObjectTagging`, qui permet à un utilisateur d’ajouter des étiquettes à un objet existant. La condition exige que l’utilisateur inclue une clé d’étiquette spécifique (telle que `Project`) avec la valeur définie sur `X`.    
****  

```
{
   "Version":"2012-10-17",		 	 	 
  "Statement": [
    {"Principal":{"AWS":[
       "arn:aws:iam::111122223333:user/JohnDoe"
         ]
       },
      "Effect": "Allow",
      "Action": [
        "s3:PutObjectTagging"
      ],
      "Resource": [
        "arn:aws:s3:::amzn-s3-demo-bucket/*"
      ],
      "Condition": {"StringEquals": {"s3:RequestObjectTag/Project": "X"
        }
      }
    }
  ]
}
```



# Gestion des balises d’objets
<a name="tagging-managing"></a>

Cette section explique comment gérer les balises d'objets à l'aide de la console AWS SDKs pour Java et .NET ou de la console Amazon S3.

Le balisage des objets vous permet de catégoriser le stockage dans les compartiments à usage général. Chaque balise est une paire clé-valeur qui respecte les règles suivantes :
+ Vous pouvez associer jusqu’à 10 balises à un objet. Les balises associées à un objet doivent avoir des clés de balise uniques.
+ Une clé de balise peut comporter jusqu’à 128 caractères Unicode et les valeurs de balise peuvent comporter jusqu’à 256 caractères Unicode. Les balises d’objet Amazon S3 sont représentées en interne en UTF-16. Notez qu’en UTF-16, les caractères occupent une ou deux positions de caractère.
+ La clé et les valeurs sont sensibles à la casse. 

Pour en savoir plus sur les balises d’objet, consultez [Catégorisation de vos objets à l’aide de balises](object-tagging.md). Pour plus d’informations sur les restrictions liées aux balises, consultez [Restrictions encadrant les balises définies par l’utilisateur](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html) dans le *Guide de l’utilisateur AWS Billing and Cost Management *. 

## Utiliser la console S3.
<a name="add-object-tags"></a>

**Pour ajouter des balises à un objet**

1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Dans le volet de navigation de gauche, choisissez **Compartiments à usage général**.

1. Dans la liste des compartiments, choisissez le nom du compartiment contenant l’objet.

1. Cochez la case située à gauche du nom des objets que vous souhaitez modifier.

1. Dans le menu **Actions**, choisissez **Modifier les balises**.

1. Vérifiez les objets répertoriés et choisissez **Ajouter des balises**.

1. Chaque balise d’objet est une paire clé-valeur. Saisissez une **Key (Clé)** et une **Value (Valeur)**. Choisissez **Add Tag (Ajouter une balise)** pour ajouter une autre balise. 

   Vous pouvez entrer jusqu’à 10 balises pour un objet.

1. Sélectionnez **Enregistrer les modifications**.

   Amazon S3 ajoute les balises aux objets spécifiés.

Pour plus d’informations, consultez aussi [Affichage des propriétés d’un objet dans la console Amazon S3](view-object-properties.md) et [Chargement d’objets](upload-objects.md) dans ce guide. 

## En utilisant le AWS SDKs
<a name="tagging-manage-sdk"></a>

------
#### [ Java ]

Pour gérer les balises d'objets à l'aide du AWS SDK for Java, vous pouvez définir des balises pour un nouvel objet et récupérer ou remplacer des balises pour un objet existant. Pour plus d’informations sur le balisage des objets, consultez [Catégorisation de vos objets à l’aide de balises](object-tagging.md).

Chargez un objet dans un compartiment et définissez des étiquettes à l’aide d’un S3Client. Pour voir des exemples, consultez [Chargement d’un objet dans un compartiment](https://docs.aws.amazon.com/AmazonS3/latest/API/s3_example_s3_PutObject_section.html) dans la *Référence des API Amazon S3*.

------
#### [ .NET ]

L'exemple suivant montre comment utiliser le AWS SDK pour .NET pour définir les balises d'un nouvel objet et récupérer ou remplacer les balises d'un objet existant. Pour plus d’informations sur le balisage des objets, consultez [Catégorisation de vos objets à l’aide de balises](object-tagging.md). 

Pour plus d'informations sur la configuration et l'exécution des exemples de code, consultez [Getting Started with the AWS SDK for](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/net-dg-setup.html) .NET dans *AWS le Guide du développeur du SDK pour* .NET. 

```
using Amazon;
using Amazon.S3;
using Amazon.S3.Model;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace Amazon.DocSamples.S3
{
    public class ObjectTagsTest
    {
        private const string bucketName = "*** bucket name ***";
        private const string keyName = "*** key name for the new object ***";
        private const string filePath = @"*** file path ***";
        // Specify your bucket region (an example region is shown).
        private static readonly RegionEndpoint bucketRegion = RegionEndpoint.USWest2;
        private static IAmazonS3 client;

        public static void Main()
        {
            client = new AmazonS3Client(bucketRegion);
            PutObjectWithTagsTestAsync().Wait();
        }

        static async Task PutObjectWithTagsTestAsync()
        {
            try
            {
                // 1. Put an object with tags.
                var putRequest = new PutObjectRequest
                {
                    BucketName = bucketName,
                    Key = keyName,
                    FilePath = filePath,
                    TagSet = new List<Tag>{
                        new Tag { Key = "Keyx1", Value = "Value1"},
                        new Tag { Key = "Keyx2", Value = "Value2" }
                    }
                };

                PutObjectResponse response = await client.PutObjectAsync(putRequest);
                // 2. Retrieve the object's tags.
                GetObjectTaggingRequest getTagsRequest = new GetObjectTaggingRequest
                {
                    BucketName = bucketName,
                    Key = keyName
                };

                GetObjectTaggingResponse objectTags = await client.GetObjectTaggingAsync(getTagsRequest);
                for (int i = 0; i < objectTags.Tagging.Count; i++)
                    Console.WriteLine("Key: {0}, Value: {1}", objectTags.Tagging[i].Key, objectTags.Tagging[i].Value);


                // 3. Replace the tagset.

                Tagging newTagSet = new Tagging();
                newTagSet.TagSet = new List<Tag>{
                    new Tag { Key = "Key3", Value = "Value3"},
                    new Tag { Key = "Key4", Value = "Value4" }
                };


                PutObjectTaggingRequest putObjTagsRequest = new PutObjectTaggingRequest()
                {
                    BucketName = bucketName,
                    Key = keyName,
                    Tagging = newTagSet
                };
                PutObjectTaggingResponse response2 = await client.PutObjectTaggingAsync(putObjTagsRequest);

                // 4. Retrieve the object's tags.
                GetObjectTaggingRequest getTagsRequest2 = new GetObjectTaggingRequest();
                getTagsRequest2.BucketName = bucketName;
                getTagsRequest2.Key = keyName;
                GetObjectTaggingResponse objectTags2 = await client.GetObjectTaggingAsync(getTagsRequest2);
                for (int i = 0; i < objectTags2.Tagging.Count; i++)
                    Console.WriteLine("Key: {0}, Value: {1}", objectTags2.Tagging[i].Key, objectTags2.Tagging[i].Value);

            }
            catch (AmazonS3Exception e)
            {
                Console.WriteLine(
                        "Error encountered ***. Message:'{0}' when writing an object"
                        , e.Message);
            }
            catch (Exception e)
            {
                Console.WriteLine(
                    "Encountered an error. Message:'{0}' when writing an object"
                    , e.Message);
            }
        }
    }
}
```

------