Démarrage dans Node.js - AWS SDK for JavaScript

The AWS SDK for JavaScript version 3 (v3) is a rewrite of v2 with some great new features, including modular architecture. For more information, see the AWS SDK for JavaScript v3 Developer Guide.

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

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. Name this directory awsnodesample. Note that the directory must be created in a location that can be updated by 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 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.

Next, install the uuid module to the project by typing the following at the command line, which installs the module and updates package.json. For more information about uuid, see the module's page at 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 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?.

In the project directory, create a new file named package.json. Then add this JSON to the file.

{ "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. You can find a JSON file that shows an example of these dependencies here on GitHub.

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

Build a unique bucket name that is used to create an Amazon S3 bucket by appending a unique ID value to a recognizable prefix, in this case 'node-sdk-sample-'. You generate the unique ID by calling the uuid module. 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); });

This sample code can be found here on 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.