Tutorial Node.js per AWS Cloud9 - AWS Cloud9

AWS Cloud9 non è più disponibile per i nuovi clienti. I clienti esistenti di AWS Cloud9 possono continuare a utilizzare il servizio normalmente. Ulteriori informazioni

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Tutorial Node.js per AWS Cloud9

Questo tutorial consente di eseguire alcuni script Node.js in un ambiente di AWS Cloud9 sviluppo.

L'esecuzione di questo tutorial e la creazione di questo esempio potrebbero comportare addebiti sul tuo AWS account. Questi includono eventuali addebiti per servizi come Amazon EC2 e Amazon S3. Per ulteriori informazioni, consulta i prezzi di Amazon e EC2 i prezzi di Amazon S3.

Prerequisiti

Prima di usare questo esempio, assicurati che la configurazione soddisfi i seguenti requisiti:

  • È necessario disporre di un ambiente di AWS Cloud9 EC2 sviluppo esistente. Questo esempio presuppone che tu disponga già di un EC2 ambiente connesso a un'EC2istanza Amazon che esegue Amazon Linux o Ubuntu Server. Se disponi di un altro tipo di ambiente o sistema operativo, potrebbe essere necessario adattare le istruzioni di questo esempio per configurare gli strumenti correlati. Per ulteriori informazioni, consulta Creare un ambiente in AWS Cloud9.

  • Il file AWS Cloud9 IDE per l'ambiente esistente è già aperto. Quando apri un ambiente, AWS Cloud9 apre il IDE relativo ambiente nel tuo browser web. Per ulteriori informazioni, consulta Apertura di un ambiente in AWS Cloud9.

Fase 1: installare gli strumenti necessari

In questa fase, viene installato Node.js, indispensabile per eseguire l'esempio.

  1. In una sessione terminale in AWS Cloud9 IDE, verificate se Node.js è già installato eseguendo il node --versioncomando. Per avviare una nuova sessione del terminale, dalla barra dei menu scegli Window (Finestra), New Terminal (Nuovo terminale). In caso di esito positivo, l'output includerà il numero di versione di Node.js. Se Node.js è installato, passa alla Fase 2: aggiungere un codice.

  2. Esegui il comando yum update per (Amazon Linux) o apt update per (Ubuntu Server) per verificare che siano installati gli aggiornamenti di sicurezza e le correzioni dei bug più recenti.

    Per Amazon Linux:

    sudo yum -y update

    Per Ubuntu Server:

    sudo apt update
  3. Per installare Node.js, inizia eseguendo questo comando per scaricare Node Version Manager (nvm). (nvm è un semplice script di shell Bash utile per installare e gestire le versioni di Node.js. Per ulteriori informazioni, consulta Node Version Manager sul sito Web.) GitHub

    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
  4. Per iniziare a utilizzare nvm, chiudi la sessione del terminale e avviala nuovamente oppure trova il file ~/.bashrc che contiene i comandi per scaricare nvm.

    . ~/.bashrc
  5. Esegui questo comando per installare Node.js 16 su Amazon Linux 2, Amazon Linux 1 e Ubuntu 18.04. Le istanze di Amazon Linux 1 e Ubuntu 18.04 supportano solo Node.js fino alla v16.

    nvm install 16

    Esegui questo comando per installare l'ultima versione di Node.js su Amazon Linux 2023 e Ubuntu 22.04:

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

    AWS Cloud9 Nell'immagine AL2 023 più recente è installato Node.js 20 e nell' AWS Cloud9 immagine Amazon Linux 2 più recente è installato Node.js 18. Se desideri installare Node.js 18 su Amazon Linux 2 AWS Cloud9 manualmente, esegui il seguente comando nel AWS Cloud9 IDE terminale:

    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

Fase 2: aggiungere un codice

Nel AWS Cloud9 IDE, crea un file con questo contenuto e salva il file con il nomehello.js. (Per creare un file, nella barra dei menu scegli File, New File (Nuovo file). Per salvare il file, scegli File,Save (Salva)).

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 + '.');

Fase 3: eseguire il codice

  1. Nella barra dei menu AWS Cloud9 IDE, scegli Esegui, Esegui configurazioni, Nuova configurazione di esecuzione.

  2. Nella scheda [New] - Idle ([Nuovo] - inattivo), seleziona Runner: Auto (Esecuzione: auto) e Node.js.

  3. Per Command (Comando), digitare hello.js 5 9. Nel codice, 5 rappresenta process.argv[2], mentre 9 rappresenta process.argv[3]. (process.argv[0] rappresenta il nome del runtime (node) e process.argv[1] rappresenta il nome del file (hello.js).)

  4. Seleziona il pulsante Run (Esegui) e confronta gli output.

    Hello, World! The sum of 2 and 3 is 5. The sum of 5 and 9 is 14.
Output di Node.js dopo l'esecuzione del codice in AWS Cloud9 IDE

Passaggio 4: Installare e configurare AWS SDK il modulo JavaScript in Node.js

Quando si eseguono gli script Node.js in AWS Cloud9, è possibile scegliere tra AWS SDK la JavaScript versione 3 (V3) e la versione precedente AWS SDK per la JavaScript versione 2 (V2). Come per la versione 2, la versione 3 consente di lavorare facilmente con Amazon Web Services, ma è stata scritta TypeScript e aggiunge diverse funzionalità richieste di frequente, come i pacchetti modulari.

AWS SDK for JavaScript (V3)

Puoi migliorare questo esempio per utilizzare il form JavaScript in Node.js AWS SDK per creare un bucket Amazon S3, elencare i bucket disponibili e quindi eliminare il bucket appena creato.

In questa fase, installerai e configurerai il modulo client del servizio Amazon S3 del modulo JavaScript in Node.js, che fornisce un modo pratico AWS SDK per interagire con il servizio Amazon AWS S3, dal tuo codice. JavaScript

Se desideri utilizzare altri AWS servizi, devi installarli separatamente. Per ulteriori informazioni sull'installazione AWS dei moduli, consultate la AWS Developer Guide (V3). Per informazioni su come iniziare a usare Node.js e AWS SDK for JavaScript (V3), consulta la Guida introduttiva a Node.js nella Guida AWS SDK per gli JavaScript sviluppatori (V3).

Dopo aver installato il modulo AWS SDK JavaScript in Node.js, è necessario configurare la gestione delle credenziali nel proprio ambiente. Il form AWS SDK JavaScript in Node.js richiede queste credenziali per interagire con AWS i servizi.

Per installare il modulo AWS SDK JavaScript in Node.js

Utilizza npm per eseguire il comando install .

npm install @aws-sdk/client-s3

Per ulteriori informazioni, consulta Installazione del SDK modulo JavaScript nella Guida per gli AWS SDK for JavaScript sviluppatori.

Per configurare la gestione delle credenziali nell'ambiente

Ogni volta che si utilizza il AWS SDK modulo JavaScript in Node.js per chiamare un AWS servizio, è necessario fornire un set di credenziali con la chiamata. Queste credenziali determinano se il AWS SDK modulo JavaScript in Node.js dispone delle autorizzazioni appropriate per effettuare quella chiamata. Se le credenziali non coprono le autorizzazioni appropriate, la chiamata fallirà.

In questa fase si archiviano le credenziali all'interno dell'ambiente A questo proposito, segui le istruzioni riportate in Chiamata Servizi AWS da un ambiente in AWS Cloud9, quindi torna a questo argomento.

Per ulteriori informazioni consulta Impostazione delle credenziali su Node.js nella Guida per gli sviluppatori di AWS SDK for JavaScript .

AWS SDK for JavaScript (V2)

Puoi migliorare questo esempio per utilizzare il form JavaScript in Node.js AWS SDK per creare un bucket Amazon S3, elencare i bucket disponibili e quindi eliminare il bucket appena creato.

In questo passaggio, installerai e configurerai il AWS SDK JavaScript modulo in Node.js, che fornisce un modo comodo per interagire con AWS servizi come Amazon S3, dal tuo JavaScript codice. Dopo aver installato il modulo AWS SDK JavaScript in Node.js, è necessario configurare la gestione delle credenziali nel proprio ambiente. Il form AWS SDK JavaScript in Node.js richiede queste credenziali per interagire con AWS i servizi.

Per installare il modulo AWS SDK JavaScript in Node.js

Utilizza npm per eseguire il comando install .

npm install aws-sdk

Per ulteriori informazioni, consulta Installazione del SDK modulo JavaScript nella Guida per gli AWS SDK for JavaScript sviluppatori.

Per configurare la gestione delle credenziali nell'ambiente

Ogni volta che si utilizza il AWS SDK modulo JavaScript in Node.js per chiamare un AWS servizio, è necessario fornire un set di credenziali con la chiamata. Queste credenziali determinano se il AWS SDK modulo JavaScript in Node.js dispone delle autorizzazioni appropriate per effettuare quella chiamata. Se le credenziali non coprono le autorizzazioni appropriate, la chiamata fallirà.

In questa fase si archiviano le credenziali all'interno dell'ambiente A questo proposito, segui le istruzioni riportate in Chiamata Servizi AWS da un ambiente in AWS Cloud9, quindi torna a questo argomento.

Per ulteriori informazioni consulta Impostazione delle credenziali su Node.js nella Guida per gli sviluppatori di AWS SDK for JavaScript .

Fase 5: Aggiungere codice AWS SDK

AWS SDK for JavaScript (V3)

In questa fase si aggiunge altro codice, questa volta per interagire con Amazon S3 e creare un bucket, elencare i bucket disponibili ed eliminare il bucket appena creato. Potrai eseguire questo codice più tardi.

Nel AWS Cloud9 IDE, crea un file con questo contenuto e salva il file con il nomes3.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)

In questa fase si aggiunge altro codice, questa volta per interagire con Amazon S3 e creare un bucket, elencare i bucket disponibili ed eliminare il bucket appena creato. Potrai eseguire questo codice più tardi.

In AWS Cloud9 IDE, crea un file con questo contenuto e salva il file con il nomes3.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, ]);

Passaggio 6: Esegui il AWS SDK codice

  1. Abilita il codice per chiamare le operazioni Amazon S3 in modo asincrono utilizzando npm per eseguire il comando install .

    npm install async
  2. Nella barra dei menu AWS Cloud9 IDE, scegli Esegui, Esegui configurazioni, Nuova configurazione di esecuzione.

  3. Nella scheda [New] - Idle ([Nuovo] - inattivo), seleziona Runner: Auto (Esecuzione: auto) e Node.js.

  4. Se stai usando AWS SDK for JavaScript (V3), per Command digita. s3.js Se si utilizza AWS SDK per Javascript (v2), per il tipo Commands3.js my-test-bucket us-east-2, my-test-bucket dov'è il nome del bucket che si desidera creare e quindi eliminare e us-east-2 l'ID della AWS regione in cui si desidera creare il bucket. Per ulteriori informazioniIDs, consulta Amazon Simple Storage Service (Amazon S3) nel. Riferimenti generali di Amazon Web Services

    Nota

    I nomi dei bucket Amazon S3 devono essere univoci per tutti gli account, AWS non solo per il tuo account. AWS

  5. Seleziona il pulsante Run (Esegui) e confronta gli output.

    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:

Fase 7: pulire

Per evitare addebiti continui sul tuo AWS account dopo aver finito di utilizzare questo esempio, devi eliminare l'ambiente. Per istruzioni, consultare Eliminazione di un ambiente in AWS Cloud9.