Tutoriel Node.js pour AWS Cloud9 - AWS Cloud9

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.

Tutoriel Node.js pour AWS Cloud9

Ce didacticiel vous permet d'exécuter des scripts Node.js dans un environnement de AWS Cloud9 développement.

Le fait de suivre ce didacticiel et de créer cet exemple peut entraîner des frais sur votre AWS compte. Il peut s'agir de frais pour des services tels qu'Amazon EC2 et Amazon S3. Pour en savoir plus, consultez les sections Tarification Amazon EC2 et Tarification Amazon S3.

Prérequis

Avant d'utiliser cet exemple, vérifiez que votre configuration respecte les conditions requises suivantes :

  • Vous devez disposer d'un environnement de développement AWS Cloud9 EC2 existant. Cet exemple suppose que vous disposez déjà d'un environnement EC2 connecté à une instance Amazon EC2 s'exécutant sur Amazon Linux ou Ubuntu Server. Si vous utilisez un autre type d'environnement ou de système d'exploitation, vous devrez peut-être adapter les instructions de cet exemple pour configurer les outils associés. Pour de plus amples informations, veuillez consulter Création d'un environnement dans AWS Cloud9.

  • L' AWS Cloud9 IDE correspondant à l'environnement existant est déjà ouvert. Lorsque vous ouvrez un environnement, AWS Cloud9 ouvre l'IDE correspondant à cet environnement dans votre navigateur Web. Pour de plus amples informations, veuillez consulter Ouverture d'un environnement dans AWS Cloud9.

Étape 1 : Installer les outils requis

Dans cette étape, vous installez Node.js, ce qui est nécessaire pour exécuter cet exemple de code.

  1. Dans une session de terminal dans l' AWS Cloud9 IDE, vérifiez si Node.js est déjà installé en exécutant la node --versioncommande. (Pour démarrer une nouvelle séance de terminal, dans la barre de menus, choisissez Window (Fenêtre), New Terminal (Nouveau terminal).) En cas de réussite, la sortie contient le numéro de version de Node.js. Si Node.js est installé, passez directement à Étape 2 : Ajouter du code.

  2. Exécutez la commande yum update (pour Amazon Linux) ou la commande apt update (pour Ubuntu Server) afin d'être sûr que les mises à jour de sécurité et les correctifs les plus récents sont installés.

    Pour Amazon Linux :

    sudo yum -y update

    Pour Ubuntu Server :

    sudo apt update
  3. Pour installer Node.js, commencez par exécuter cette commande pour télécharger Node Version Manager (nvm). (nvm) est un script shell Bash simple qui est utile pour installer et gérer les versions de Node.js. Pour plus d'informations, consultez Node Version Manager sur le GitHub site Web.)

    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
  4. Pour commencer à utiliser nvm, fermez la session de terminal et démarrez-la à nouveau, ou approvisionnez le fichier ~/.bashrc qui contient les commandes pour charger nvm.

    . ~/.bashrc
  5. Exécutez cette commande pour installer Node.js 16 sur Amazon Linux 2, Amazon Linux 1 et Ubuntu 18.04. Les instances Amazon Linux 1 et Ubuntu 18.04 ne prennent en charge Node.js que jusqu'à la version 16.

    nvm install 16

    Exécutez cette commande pour installer la dernière version de Node.js sur Amazon Linux 2023 et Ubuntu 22.04 :

    nvm install --lts && nvm alias default lts/*
    Note

    Node.js 20 est installé sur la dernière AWS Cloud9 image AL2023 et Node.js 18 est installé sur la dernière AWS Cloud9 image Amazon Linux 2. Si vous souhaitez installer Node.js 18 AWS Cloud9 manuellement sur Amazon Linux 2, exécutez la commande suivante dans le terminal AWS Cloud9 IDE :

    C9_NODE_INSTALL_DIR=~/.nvm/versions/node/v18.17.1 C9_NODE_URL=https://d3kgj69l4ph6w4.cloudfront.net/static/node-amazon/node-v18.17.1-linux-x64.tar.gz mkdir -p $C9_NODE_INSTALL_DIR curl -fSsl $C9_NODE_URL | tar xz --strip-components=1 -C "$C9_NODE_INSTALL_DIR" nvm alias default v18.17.1 nvm use default echo -e 'nvm use default' >> ~/.bash_profile

Étape 2 : Ajouter du code

Dans l' AWS Cloud9 IDE, créez un fichier avec ce contenu et enregistrez le fichier sous son nomhello.js. (Pour créer un fichier, dans la barre de menus, choisissez Fichier, Nouveau fichier. Pour l'enregistrer, choisissez Fichier, Enregistrer.)

console.log('Hello, World!'); console.log('The sum of 2 and 3 is 5.'); var sum = parseInt(process.argv[2], 10) + parseInt(process.argv[3], 10); console.log('The sum of ' + process.argv[2] + ' and ' + process.argv[3] + ' is ' + sum + '.');

Étape 3 : Exécuter le code

  1. Dans l' AWS Cloud9 IDE, dans la barre de menus, choisissez Run, Run Configurations, New Run Configuration.

  2. Dans l'onglet [New] - Idle ([Nouveau] - Inactif), choisissez Runner: Auto (Exécuteur : Auto), puis Node.js.

  3. Pour Commande), saisissez hello.js 5 9. Dans le code, 5 représente process.argv[2], et 9 représente process.argv[3]. (process.argv[0] représente le nom de l'exécution (node), et process.argv[1] représente le nom du fichier (hello.js).)

  4. Choisissez le bouton Run et comparez la sortie.

    Hello, World! The sum of 2 and 3 is 5. The sum of 5 and 9 is 14.
Sortie Node.js après avoir exécuté le code dans l' AWS Cloud9 IDE

Étape 4 : Installation et configuration du AWS SDK pour JavaScript dans Node.js

Lorsque vous exécutez des scripts Node.js dans AWS Cloud9, vous pouvez choisir entre le AWS SDK pour la JavaScript version 3 (V3) et l'ancien AWS SDK pour la JavaScript version 2 (V2). Comme avec la V2, la V3 vous permet de travailler facilement avec Amazon Web Services, mais elle a été intégrée TypeScript et ajoute plusieurs fonctionnalités fréquemment demandées, telles que les packages modularisés.

AWS SDK for JavaScript (V3)

Vous pouvez améliorer cet exemple pour utiliser le AWS SDK JavaScript dans Node.js afin de créer un compartiment Amazon S3, de répertorier vos compartiments disponibles, puis de supprimer le compartiment que vous venez de créer.

Au cours de cette étape, vous installez et configurez le module client du service Amazon S3 du AWS SDK pour JavaScript Node.js, qui fournit un moyen pratique d'interagir avec le AWS service Amazon S3, à partir de votre JavaScript code.

Si vous souhaitez utiliser d'autres AWS services, vous devez les installer séparément. Pour plus d'informations sur l'installation AWS des modules, consultez le Guide du AWS développeur (V3). Pour plus d'informations sur la prise en main de Node.js et du AWS SDK pour JavaScript (V3), voir Commencer avec Node.js dans le guide du AWS SDK pour JavaScript développeurs (V3).

Après avoir installé le AWS SDK pour JavaScript dans Node.js, vous devez configurer la gestion des informations d'identification dans votre environnement. Le AWS SDK de Node.js a besoin JavaScript de ces informations d'identification pour interagir avec les AWS services.

Pour installer le AWS SDK pour JavaScript dans Node.js

Utilisez npm pour exécuter la commande install.

npm install @aws-sdk/client-s3

Pour plus d'informations, consultez la section Installation du SDK pour JavaScript dans le Guide du AWS SDK for JavaScript développeur.

Pour configurer la gestion des informations d'identification dans votre environnement

Chaque fois que vous utilisez le AWS SDK pour appeler un AWS service JavaScript dans Node.js, vous devez fournir un ensemble d'informations d'identification avec l'appel. Ces informations d'identification déterminent si le AWS SDK pour JavaScript Node.js dispose des autorisations appropriées pour effectuer cet appel. Si les informations d'identification ne sont pas associées aux autorisations nécessaires, l'appel échoue.

Au cours de cette étape, vous allez stocker vos informations d'identification dans l'environnement. Pour ce faire, suivez les instructions de la rubrique Appel des Services AWS à partir d'un environnement dans AWS Cloud9, puis revenez à cette rubrique.

Pour plus d'informations, consultez Setting Credentials in Node.js dans le Guide du développeur AWS SDK for JavaScript .

AWS SDK for JavaScript (V2)

Vous pouvez améliorer cet exemple pour utiliser le AWS SDK JavaScript dans Node.js afin de créer un compartiment Amazon S3, de répertorier vos compartiments disponibles, puis de supprimer le compartiment que vous venez de créer.

Au cours de cette étape, vous installez et configurez le AWS SDK pour JavaScript Node.js, qui constitue un moyen pratique d'interagir avec des AWS services tels qu'Amazon S3, à partir de votre JavaScript code. Après avoir installé le AWS SDK pour JavaScript dans Node.js, vous devez configurer la gestion des informations d'identification dans votre environnement. Le AWS SDK de Node.js a besoin JavaScript de ces informations d'identification pour interagir avec les AWS services.

Pour installer le AWS SDK pour JavaScript dans Node.js

Utilisez npm pour exécuter la commande install.

npm install aws-sdk

Pour plus d'informations, consultez la section Installation du SDK pour JavaScript dans le Guide du AWS SDK for JavaScript développeur.

Pour configurer la gestion des informations d'identification dans votre environnement

Chaque fois que vous utilisez le AWS SDK pour appeler un AWS service JavaScript dans Node.js, vous devez fournir un ensemble d'informations d'identification avec l'appel. Ces informations d'identification déterminent si le AWS SDK pour JavaScript Node.js dispose des autorisations appropriées pour effectuer cet appel. Si les informations d'identification ne sont pas associées aux autorisations nécessaires, l'appel échoue.

Au cours de cette étape, vous allez stocker vos informations d'identification dans l'environnement. Pour ce faire, suivez les instructions de la rubrique Appel des Services AWS à partir d'un environnement dans AWS Cloud9, puis revenez à cette rubrique.

Pour plus d'informations, consultez Setting Credentials in Node.js dans le Guide du développeur AWS SDK for JavaScript .

Étape 5 : ajouter le code du AWS SDK

AWS SDK for JavaScript (V3)

Au cours de cette étape, vous allez ajouter du code supplémentaire pour interagir avec Amazon S3, créer un compartiment, répertorier les compartiments disponibles, puis supprimer le compartiment que vous venez de créer. Vous exécuterez ce code ultérieurement.

Dans l' AWS Cloud9 IDE, créez un fichier avec ce contenu et enregistrez le fichier sous son noms3.js.

import { CreateBucketCommand, DeleteBucketCommand, ListBucketsCommand, S3Client, } from "@aws-sdk/client-s3"; const wait = async (milliseconds) => { return new Promise((resolve) => setTimeout(resolve, milliseconds)); }; export const main = async () => { const client = new S3Client({}); const now = Date.now(); const BUCKET_NAME = `easy-bucket-${now.toString()}`; const createBucketCommand = new CreateBucketCommand({ Bucket: BUCKET_NAME }); const listBucketsCommand = new ListBucketsCommand({}); const deleteBucketCommand = new DeleteBucketCommand({ Bucket: BUCKET_NAME }); try { console.log(`Creating bucket ${BUCKET_NAME}.`); await client.send(createBucketCommand); console.log(`${BUCKET_NAME} created`); await wait(2000); console.log(`Here are your buckets:`); const { Buckets } = await client.send(listBucketsCommand); Buckets.forEach((bucket) => { console.log(` • ${bucket.Name}`); }); await wait(2000); console.log(`Deleting bucket ${BUCKET_NAME}.`); await client.send(deleteBucketCommand); console.log(`${BUCKET_NAME} deleted`); } catch (err) { console.error(err); } }; main();
AWS SDK for JavaScript (V2)

Au cours de cette étape, vous allez ajouter du code supplémentaire pour interagir avec Amazon S3, créer un compartiment, répertorier les compartiments disponibles, puis supprimer le compartiment que vous venez de créer. Vous exécuterez ce code ultérieurement.

Dans l' AWS Cloud9 IDE, créez un fichier avec ce contenu et enregistrez le fichier sous son noms3.js.

if (process.argv.length < 4) { console.log( "Usage: node s3.js <the bucket name> <the AWS Region to use>\n" + "Example: node s3.js my-test-bucket us-east-2" ); process.exit(1); } var AWS = require("aws-sdk"); // To set the AWS credentials and region. var async = require("async"); // To call AWS operations asynchronously. AWS.config.update({ region: region, }); var s3 = new AWS.S3({ apiVersion: "2006-03-01" }); var bucket_name = process.argv[2]; var region = process.argv[3]; var create_bucket_params = { Bucket: bucket_name, CreateBucketConfiguration: { LocationConstraint: region, }, }; var delete_bucket_params = { Bucket: bucket_name }; // List all of your available buckets in this AWS Region. function listMyBuckets(callback) { s3.listBuckets(function (err, data) { if (err) { } else { console.log("My buckets now are:\n"); for (var i = 0; i < data.Buckets.length; i++) { console.log(data.Buckets[i].Name); } } callback(err); }); } // Create a bucket in this AWS Region. function createMyBucket(callback) { console.log("\nCreating a bucket named " + bucket_name + "...\n"); s3.createBucket(create_bucket_params, function (err, data) { if (err) { console.log(err.code + ": " + err.message); } callback(err); }); } // Delete the bucket you just created. function deleteMyBucket(callback) { console.log("\nDeleting the bucket named " + bucket_name + "...\n"); s3.deleteBucket(delete_bucket_params, function (err, data) { if (err) { console.log(err.code + ": " + err.message); } callback(err); }); } // Call the AWS operations in the following order. async.series([ listMyBuckets, createMyBucket, listMyBuckets, deleteMyBucket, listMyBuckets, ]);

Étape 6 : Exécuter le code du AWS SDK

  1. Activez le code pour appeler des opérations Amazon S3 de manière asynchrone en utilisant npm pour exécuter la commande install .

    npm install async
  2. Dans l' AWS Cloud9 IDE, dans la barre de menus, choisissez Run, Run Configurations, New Run Configuration.

  3. Dans l'onglet [New] - Idle ([Nouveau] - Inactif), choisissez Runner: Auto (Exécuteur : Auto), puis Node.js.

  4. Si vous utilisez le AWS SDK pour JavaScript (V3), tapez Command. s3.js Si vous utilisez le AWS SDK pour Javascript (v2), pour le type de commandes3.js my-test-bucket us-east-2, où my-test-bucket se trouvent le nom du compartiment que vous souhaitez créer puis supprimer, et us-east-2 l'ID de la AWS région dans laquelle vous souhaitez créer le compartiment. Pour plus d'ID, consultez la section Amazon Simple Storage Service (Amazon S3) de la Référence générale d'Amazon Web Services.

    Note

    Les noms des compartiments Amazon S3 doivent être uniques pour l'ensemble de votre compte AWS, et pas uniquement pour ce qui est de votre AWS compte.

  5. Choisissez le bouton Run et comparez la sortie.

    My buckets now are: Creating a new bucket named 'my-test-bucket'... My buckets now are: my-test-bucket Deleting the bucket named 'my-test-bucket'... My buckets now are:

Étape 7 : nettoyer

Pour éviter que votre AWS compte ne soit débité une fois que vous aurez terminé d'utiliser cet exemple, vous devez supprimer l'environnement. Pour obtenir des instructions, consultez Suppression d'un environnement dans AWS Cloud9.