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.
Démarrage dans Node.js
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/ .
Table des matières
É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); } });
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
É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