

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.

# Chargement d’objets dans un compartiment de répertoires
<a name="directory-buckets-objects-upload"></a>

Après avoir créé un compartiment de répertoires Amazon S3, vous pouvez y charger des objets. Les exemples suivants montrent comment télécharger un objet dans un compartiment de répertoire à l'aide de la console S3 et du AWS SDKs. Pour plus d’informations sur les opérations d’objet par lot utilisant S3 Express One Zone, consultez [Gestion des objets](directory-bucket-high-performance.md#s3-express-features-object-management). 

## Utilisation de la console S3
<a name="directory-bucket-upload-console"></a>

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 de répertoires**.

1. Choisissez le nom du compartiment dans lequel vous souhaitez charger vos dossiers ou fichiers.

1. Dans l’onglet **Objets**, choisissez **Charger**.

1. Sur la page **Charger**, procédez de l’une des manières suivantes : 
   + Faites glisser et déposez les fichiers et les dossiers dans la fenêtre de chargement.
   + Choisissez **Ajouter des fichiers** ou **Ajouter un dossier**, puis choisissez les fichiers ou les dossiers à charger et sélectionnez **Ouvrir** ou **Charger**.

1. Sous **Sommes de contrôle**, choisissez la **fonction de somme de contrôle** que vous souhaitez utiliser. 

   (Facultatif) Si vous chargez un seul objet d’une taille inférieure à 16 Mo, vous pouvez également spécifier une valeur de somme de contrôle précalculée. Lorsque vous fournissez une valeur précalculée, Amazon S3 la compare à la valeur qu’il calcule à l’aide de la fonction de somme de contrôle sélectionnée. Si les valeurs ne correspondent pas, le chargement ne démarrera pas. 

1. Les options des sections **Autorisations** et **Propriétés** sont automatiquement définies selon les paramètres par défaut et ne peuvent pas être modifiées. Le blocage de l’accès public est automatiquement activé, et la gestion des versions S3 ainsi que le verrouillage d’objet S3 ne peuvent pas être activés pour les compartiments de répertoires. 

   (Facultatif) Si vous souhaitez ajouter des métadonnées sous forme de paires clé-valeur aux objets, développez la section **Propriétés**, puis dans la section **Métadonnées**, choisissez **Ajouter des métadonnées**.

1. Pour charger les fichiers et dossiers répertoriés, choisissez **Charger**.

   Amazon S3 charge les objets et les dossiers. Lorsque le chargement est terminé, un message de réussite s’affiche sur la page **Charger : statut**.

## À l'aide du AWS SDKs
<a name="directory-bucket-upload-sdks"></a>

------
#### [ SDK for Java 2.x ]

**Example**  

```
public static void putObject(S3Client s3Client, String bucketName, String objectKey, Path filePath) {
       //Using File Path to avoid loading the whole file into memory
       try {
           PutObjectRequest putObj = PutObjectRequest.builder()
                   .bucket(bucketName)
                   .key(objectKey)
                   //.metadata(metadata)
                   .build();
           s3Client.putObject(putObj, filePath);               
           System.out.println("Successfully placed " + objectKey +" into bucket "+bucketName);
                                              
       }
       
       catch (S3Exception e) {
           System.err.println(e.getMessage());
           System.exit(1);
       }
}
```

------
#### [ SDK for Python ]

**Example**  

```
import boto3
import botocore
from botocore.exceptions import ClientError
    
    
def put_object(s3_client, bucket_name, key_name, object_bytes):
    """  
    Upload data to a directory bucket.
    :param s3_client: The boto3 S3 client
    :param bucket_name: The bucket that will contain the object
    :param key_name: The key of the object to be uploaded
    :param object_bytes: The data to upload
    """
    try:
        response = s3_client.put_object(Bucket=bucket_name, Key=key_name,
                             Body=object_bytes)
        print(f"Upload object '{key_name}' to bucket '{bucket_name}'.") 
        return response
    except ClientError:    
        print(f"Couldn't upload object '{key_name}' to bucket '{bucket_name}'.")
        raise

def main():
    # Share the client session with functions and objects to benefit from S3 Express One Zone auth key
    s3_client = boto3.client('s3')
    # Directory bucket name must end with --zone-id--x-s3
    resp = put_object(s3_client, 'doc-bucket-example--use1-az5--x-s3', 'sample.txt', b'Hello, World!')
    print(resp)

if __name__ == "__main__":
    main()
```

------

## En utilisant le AWS CLI
<a name="directory-upload-object-cli"></a>

L’exemple de commande `put-object` suivant montre comment utiliser l’interface de ligne de commande AWS CLI pour charger un objet depuis Amazon S3. Pour exécuter cette commande, remplacez `user input placeholders` par vos propres informations.

```
aws s3api put-object --bucket bucket-base-name--zone-id--x-s3 --key sampleinut/file001.bin --body bucket-seed/file001.bin
```

Pour plus d’informations, consultez [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-object.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-object.html) dans la *Référence des commandes de l’AWS CLI *.

**Topics**
+ [Utilisation du chargement partitionné avec les compartiments de répertoires](s3-express-using-multipart-upload.md)