Kit SDK AWS pour JavaScript
Manuel du développeur pour le kit SDK version 2

Démarrage dans Node.js

JavaScript code example that applies to Node.js execution

Cet exemple de code Node.js présente :

  • Comment créer le manifeste package.json pour votre projet.

  • Comment installer et inclure les modules que votre projet utilise.

  • Comment créer un objet de service Amazon Simple Storage Service (Amazon S3) à partir de la classe de client AWS.S3.

  • Comment créer un compartiment Amazon S3 et charger un objet dans ce compartiment.

Scénario

L'exemple montre comment configurer et exécuter un module Node.js simple qui crée un compartiment Amazon S3, puis lui ajoute un objet texte.

Étant donné que les noms de compartiment dans Amazon S3 doivent être uniques au niveau mondial, cet exemple inclut un module Node.js tiers qui génère une valeur d'ID unique que vous pouvez intégrer dans le nom du compartiment. Ce module supplémentaire se nomme uuid.

Tâches prérequises

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

  • Créez un répertoire de travail pour développer votre module Node.js. Nommez ce répertoire awsnodesample. Notez que le répertoire doit être créé dans un emplacement qui peut être mis à jour par des applications. Par exemple, dans Windows, ne créez pas le répertoire sous « C:\Program Files ».

  • Installez Node.js. Pour plus d'informations, consultez le site web de Node.js. Vous pouvez trouver des téléchargements de la version actuelle et des versions LTS de Node.js pour les différents systèmes d'exploitation à l'adresse https://nodejs.org/fr/download/current/.

Étape 1 : Configurer vos informations d'identification

Vous devez fournir des informations d'identification à AWS afin que le kit SDK ne puisse accéder qu'à votre compte et à ses ressources. Pour plus d'informations sur l'obtention de vos informations d'identification, consultez Obtention de vos informations d'identification.

Pour conserver ces informations, nous vous recommandons de créer un fichier d'informations d'identification partagé. Pour savoir comment procéder, consultez Chargement des informations d'identification dans Node.js à partir du fichier d'informations d'identification partagé. Votre fichier d'informations d'identification doit ressembler à l'exemple suivant.

[default] aws_access_key_id = YOUR_ACCESS_KEY_ID aws_secret_access_key = YOUR_SECRET_ACCESS_KEY

Vous pouvez déterminer si vous avez défini vos informations d'identification correctement en exécutant le code suivant avec node:

var AWS = require("aws-sdk"); AWS.config.getCredentials(function(err) { if (err) console.log(err.stack); // credentials not loaded else { console.log("Access key:", AWS.config.credentials.accessKeyId); console.log("Secret access key:", AWS.config.credentials.secretAccessKey); } });

De même, si vous avez défini votre région correctement dans votre fichier config, vous pouvez afficher cette valeur en déterminant la variable d’environnement AWS_SDK_LOAD_CONFIG sur une valeur vérifiée et en utilisant le code suivant :

var AWS = require("aws-sdk"); console.log("Region: ", AWS.config.region);

Étape 2 : Créer le fichier package.json pour le projet

Une fois que vous avez créé le répertoire de projet awsnodesample, vous créez et ajoutez un fichier package.json pour conserver les métadonnées de votre projet Node.js. Pour plus d'informations sur l'utilisation de package.json dans un projet Node.js, consultez What is the file package.json?.

Dans le répertoire du projet, créez un fichier appelé package.json. Ajoutez ce contenu JSON au fichier.

{ "dependencies": {}, "name": "aws-nodejs-sample", "description": "A simple Node.js application illustrating usage of the AWS SDK for Node.js.", "version": "1.0.1", "main": "sample.js", "devDependencies": {}, "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "NAME", "license": "ISC" }

Sauvegardez le fichier. Au fur et à mesure que vous installerez les modules dont vous avez besoin, la partie dependencies du fichier se complétera. Vous pouvez trouver un fichier JSON qui présente un exemple de ces dépendances ici sur GitHub.

Étape 3 : Installer le kit SDK et les dépendances

Vous installez le package du kit Kit SDK pour JavaScript à l'aide de npm (gestionnaire de packages de Node.j).

Depuis le répertoire awsnodesample dans le package, saisissez la commande suivante sur la ligne de commande.

npm install aws-sdk

Cette commande installe le kit Kit SDK pour JavaScript dans votre projet et met à jour package.json en répertoriant le kit SDK en tant que dépendance du projet. Vous pouvez trouver des informations sur ce package en recherchant « aws-sdk » sur le site internet npm.

Installez ensuite le module uuid dans le projet en saisissant ce qui suit sur la ligne de commande. Vous installez ainsi le module et les mises à jour package.json. Pour plus d'informations sur uuid, consultez la page du module à l'adresse https://www.npmjs.com/package/uuid.

npm install uuid

Ces packages et le code associé sont installés dans le sous-répertoire node_modules de votre projet.

Pour plus d'informations sur l'installation des packages Node.js, consultez Télécharger et installer des packages localement et Créer des modules Node.js sur le site internet npm (Node.js package manager). Pour plus d'informations sur le téléchargement et l'installation du kit Kit AWS SDK pour JavaScript, consultez Installation du kit Kit SDK pour JavaScript.

Étape 4 : Écrire le code Node.js

Créez un fichier nommé sample.js pour y placer l'exemple de code. Commencez par ajouter les appels de fonction require pour inclure le kit Kit SDK pour JavaScript et les modules uuid afin qu'ils soient à votre disposition.

Générez un nom de compartiment unique utilisé pour créer un compartiment Amazon S3 en ajoutant une valeur d'ID unique à un préfixe identifiable, dans le cas présent 'node-sdk-sample-'. Vous générez l'ID unique en appelant le module uuid. Créez ensuite un nom pour le paramètre Key utilisé pour charger un objet dans le compartiment.

Créez un objet promise pour appeler la méthode createBucket de l'objet de service AWS.S3. En cas de réponse positive, créez les paramètres requis pour charger du texte dans le compartiment que vous venez de créer. En utilisant un autre objet promise, appelez la méthode putObject pour charger l'objet de texte dans le compartiment.

// Load the SDK and UUID var AWS = require('aws-sdk'); var uuid = require('uuid'); // Create unique bucket name var bucketName = 'node-sdk-sample-' + uuid.v4(); // Create name for uploaded object key var keyName = 'hello_world.txt'; // Create a promise on S3 service object var bucketPromise = new AWS.S3({apiVersion: '2006-03-01'}).createBucket({Bucket: bucketName}).promise(); // Handle promise fulfilled/rejected states bucketPromise.then( function(data) { // Create params for putObject call var objectParams = {Bucket: bucketName, Key: keyName, Body: 'Hello World!'}; // Create object upload promise var uploadPromise = new AWS.S3({apiVersion: '2006-03-01'}).putObject(objectParams).promise(); uploadPromise.then( function(data) { console.log("Successfully uploaded data to " + bucketName + "/" + keyName); }); }).catch( function(err) { console.error(err, err.stack); });

Cet exemple de code est disponible ici sur GitHub.

Étape 5 : Exécuter l'exemple

Pour exécuter l'exemple, tapez la commande suivante.

node sample.js

Si le chargement aboutit, vous verrez un message de confirmation sur la ligne de commande. Vous pouvez également trouver le compartiment et l'objet de texte téléchargé dans la console Amazon S3.