

La AWS SDK pour JavaScript v2 est arrivée end-of-support. Nous vous recommandons de migrer vers la [AWS SDK pour JavaScript version 3](https://docs.aws.amazon.com//sdk-for-javascript/v3/developer-guide/). Pour plus de détails et d'informations sur la façon de migrer, veuillez consulter cette [annonce](https://aws.amazon.com/blogs//developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/).

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.

# Création et utilisation de compartiments Amazon S3
<a name="s3-example-creating-buckets"></a>

![\[JavaScript code example that applies to Node.js execution\]](http://docs.aws.amazon.com/fr_fr/sdk-for-javascript/v2/developer-guide/images/nodeicon.png)

**Cet exemple de code Node.js présente :**
+ Comment obtenir et afficher une liste des compartiments Amazon S3 dans votre compte.
+ Comment créer un compartiment Amazon S3.
+ Comment charger un objet dans un compartiment spécifié.

## Scénario
<a name="s3-example-creating-buckets-scenario"></a>

Dans cet exemple, une série de modules Node.js sont utilisés pour obtenir une liste des compartiments Amazon S3 existants, créer un compartiment et charger un fichier dans un compartiment spécifié. Ces modules Node.js utilisent le SDK pour JavaScript obtenir des informations et télécharger des fichiers dans un compartiment Amazon S3 en utilisant les méthodes suivantes de la classe client Amazon S3 :
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#listBuckets-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#listBuckets-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#createBucket-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#createBucket-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#listObjects-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#listObjects-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#upload-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#upload-property)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#deleteBucket-property](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#deleteBucket-property)

## Tâches prérequises
<a name="s3-example-creating-buckets-prerequisites"></a>

Pour configurer et exécuter cet exemple, vous devez d'abord :
+ Installez Node.js. Pour plus d'informations sur l'installation de Node.js, consultez le [site web de Node.js](https://nodejs.org).
+ Créez un fichier de configurations partagé avec vos informations d'identification utilisateur. Pour plus d'informations sur le fichier d'informations d'identification partagé, consultez [Chargement des informations d'identification dans Node.js à partir du fichier d'informations d'identification partagé](loading-node-credentials-shared.md).

## Configuration du kit SDK
<a name="s3-example-creating-buckets-configure-sdk"></a>

Configurez le SDK pour JavaScript en créant un objet de configuration global, puis en définissant la région pour votre code. Dans cet exemple, la région est `us-west-2`.

```
// Load the SDK for JavaScript
var AWS = require('aws-sdk');
// Set the Region 
AWS.config.update({region: 'us-west-2'});
```

## Afficher la liste des compartiments Amazon S3
<a name="s3-example-creating-buckets-list-buckets"></a>

Créez un module Node.js nommé `s3_listbuckets.js`. Veillez à configurer le kit SDK comme indiqué précédemment. Pour accéder à Amazon Simple Storage Service, créez un objet `AWS.S3` de service. Appelez la `listBuckets` méthode de l'objet de service Amazon S3 pour récupérer la liste de vos buckets. Le paramètre `data` de la fonction de rappel dispose d'une propriété `Buckets` contenant un tableau de cartes pour représenter les compartiments. Affichez la liste des compartiments en la connectant à la console.

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create S3 service object
s3 = new AWS.S3({ apiVersion: "2006-03-01" });

// Call S3 to list the buckets
s3.listBuckets(function (err, data) {
  if (err) {
    console.log("Error", err);
  } else {
    console.log("Success", data.Buckets);
  }
});
```

Pour exécuter l'exemple, entrez ce qui suit dans la ligne de commande.

```
node s3_listbuckets.js
```

Cet exemple de code se trouve [ici sur GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/javascript/example_code/s3/s3_listbuckets.js).

## Création d’un compartiment Amazon S3
<a name="s3-example-creating-buckets-new-bucket"></a>

Créez un module Node.js nommé `s3_createbucket.js`. Veillez à configurer le kit SDK comme indiqué précédemment. Créez un objet de service `AWS.S3`. Le module prend un seul argument de ligne de commande pour spécifier un nom pour le nouveau compartiment.

Ajoutez une variable contenant les paramètres utilisés pour appeler la `createBucket` méthode de l'objet de service Amazon S3, y compris le nom du compartiment nouvellement créé. La fonction de rappel enregistre l'emplacement du nouveau compartiment sur la console une fois qu'Amazon S3 l'a créé avec succès.

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create S3 service object
s3 = new AWS.S3({ apiVersion: "2006-03-01" });

// Create the parameters for calling createBucket
var bucketParams = {
  Bucket: process.argv[2],
};

// call S3 to create the bucket
s3.createBucket(bucketParams, function (err, data) {
  if (err) {
    console.log("Error", err);
  } else {
    console.log("Success", data.Location);
  }
});
```

Pour exécuter l'exemple, entrez ce qui suit dans la ligne de commande.

```
node s3_createbucket.js BUCKET_NAME
```

Cet exemple de code se trouve [ici sur GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/javascript/example_code/s3/s3_createbucket.js).

## Chargement d'un fichier dans un compartiment Amazon S3
<a name="s3-example-creating-buckets-upload-file"></a>

Créez un module Node.js nommé `s3_upload.js`. Veillez à configurer le kit SDK comme indiqué précédemment. Créez un objet de service `AWS.S3`. Le module prend deux arguments de ligne de commande : le premier pour spécifier le compartiment de destination et le deuxième pour spécifier le fichier à charger.

Créez une variable avec les paramètres nécessaires pour appeler la `upload` méthode de l'objet de service Amazon S3. Indiquez le nom du compartiment cible dans le paramètre `Bucket`. Le paramètre `Key` est défini sur le nom du fichier sélectionné que vous pouvez obtenir à l'aide du module `path` Node.js. Le paramètre `Body` est défini sur les contenus du fichier que vous pouvez obtenir à l'aide de `createReadStream` à partir du module `fs` Node.js.

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create S3 service object
var s3 = new AWS.S3({ apiVersion: "2006-03-01" });

// call S3 to retrieve upload file to specified bucket
var uploadParams = { Bucket: process.argv[2], Key: "", Body: "" };
var file = process.argv[3];

// Configure the file stream and obtain the upload parameters
var fs = require("fs");
var fileStream = fs.createReadStream(file);
fileStream.on("error", function (err) {
  console.log("File Error", err);
});
uploadParams.Body = fileStream;
var path = require("path");
uploadParams.Key = path.basename(file);

// call S3 to retrieve upload file to specified bucket
s3.upload(uploadParams, function (err, data) {
  if (err) {
    console.log("Error", err);
  }
  if (data) {
    console.log("Upload Success", data.Location);
  }
});
```

Pour exécuter l'exemple, entrez ce qui suit dans la ligne de commande.

```
node s3_upload.js BUCKET_NAME FILE_NAME
```

Cet exemple de code se trouve [ici sur GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/javascript/example_code/s3/s3_upload.js).

## Répertorier des objets dans un compartiment Amazon S3
<a name="s3-example-listing-objects"></a>

Créez un module Node.js nommé `s3_listobjects.js`. Veillez à configurer le kit SDK comme indiqué précédemment. Créez un objet de service `AWS.S3`. 

Ajoutez une variable contenant les paramètres utilisés pour appeler la `listObjects` méthode de l'objet de service Amazon S3, y compris le nom du compartiment à lire. La fonction de rappel journalise une liste d'objets (fichiers) ou un message d'erreur.

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create S3 service object
s3 = new AWS.S3({ apiVersion: "2006-03-01" });

// Create the parameters for calling listObjects
var bucketParams = {
  Bucket: "BUCKET_NAME",
};

// Call S3 to obtain a list of the objects in the bucket
s3.listObjects(bucketParams, function (err, data) {
  if (err) {
    console.log("Error", err);
  } else {
    console.log("Success", data);
  }
});
```

Pour exécuter l'exemple, entrez ce qui suit dans la ligne de commande.

```
node s3_listobjects.js
```

Cet exemple de code se trouve [ici sur GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/javascript/example_code/s3/s3_listobjects.js).

## Supprimer un compartiment Amazon S3
<a name="s3-example-deleting-buckets"></a>

Créez un module Node.js nommé `s3_deletebucket.js`. Veillez à configurer le kit SDK comme indiqué précédemment. Créez un objet de service `AWS.S3`. 

Ajoutez une variable contenant les paramètres utilisés pour appeler la `createBucket` méthode de l'objet de service Amazon S3, y compris le nom du compartiment à supprimer. Pour être supprimé, le compartiment doit être vide. La fonction de rappel journalise un message de réussite ou d'échec.

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create S3 service object
s3 = new AWS.S3({ apiVersion: "2006-03-01" });

// Create params for S3.deleteBucket
var bucketParams = {
  Bucket: "BUCKET_NAME",
};

// Call S3 to delete the bucket
s3.deleteBucket(bucketParams, function (err, data) {
  if (err) {
    console.log("Error", err);
  } else {
    console.log("Success", data);
  }
});
```

Pour exécuter l'exemple, entrez ce qui suit dans la ligne de commande.

```
node s3_deletebucket.js
```

Cet exemple de code se trouve [ici sur GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/javascript/example_code/s3/s3_deletebucket.js).