View a markdown version of this page

Création et utilisation de compartiments Amazon S3 - AWS SDK pour JavaScript

La AWS SDK pour JavaScript v2 a atteint la fin du support. Nous vous recommandons de migrer vers la AWS SDK pour JavaScript version 3. Pour plus de détails et d'informations sur la manière de migrer, veuillez consulter cette annonce.

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

JavaScript code example that applies to Node.js execution

Cet exemple Node.js de code montre :

  • Comment obtenir et afficher la 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

Dans cet exemple, une série de Node.js modules est utilisée pour obtenir la liste des compartiments Amazon S3 existants, créer un compartiment et charger un fichier dans un compartiment spécifié. Ces Node.js modules utilisent le SDK pour JavaScript obtenir des informations et télécharger des fichiers vers un compartiment Amazon S3 à l'aide des méthodes suivantes de la classe client Amazon S3 :

Tâches prérequises

Pour configurer et exécuter cet exemple, vous devez d'abord :

Configuration du kit SDK

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'});

Affichage de la liste des compartiments Amazon S3

Créez un Node.js module avec le nom de fichiers3_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 compartiments. 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.

Création d’un compartiment Amazon S3

Créez un Node.js module avec le nom de fichiers3_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.

Chargement d'un fichier vers un compartiment Amazon S3

Créez un Node.js module avec le nom de fichiers3_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 Key paramètre est défini sur le nom du fichier sélectionné, que vous pouvez obtenir à l'aide du Node.js path module. Le Body paramètre est défini sur le contenu du fichier, que vous pouvez obtenir createReadStream à l'aide du Node.js fs module.

// 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.

Répertorier des objets dans un compartiment Amazon S3

Créez un Node.js module avec le nom de fichiers3_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.

Supprimer un compartiment Amazon S3

Créez un Node.js module avec le nom de fichiers3_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.