Tutorial Node.js per AWS Cloud9 - AWS Cloud9

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 possibili addebiti per servizi come Amazon EC2 e Amazon S3. Per ulteriori informazioni, consulta Prezzi di Amazon EC2 e Prezzi di Amazon S3.

Prerequisiti

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

  • È necessario disporre di un ambiente di sviluppo AWS Cloud9 EC2 esistente. Nell'esempio si presume che tu disponga già di un ambiente EC2 connesso a un'istanza Amazon EC2 in cui viene eseguito 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.

  • L' AWS Cloud9 IDE per l'ambiente esistente è già aperto. Quando apri un ambiente, AWS Cloud9 apre l'IDE per quell'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 di terminale nell' 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 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 AL2023 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 terminale 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

Fase 2: aggiungere un codice

Nell' 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. Nell' AWS Cloud9 IDE, nella barra dei menu, 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 nell'IDE AWS Cloud9

Passaggio 4: installa e configura l' AWS SDK per JavaScript in Node.js

Quando esegui gli script Node.js AWS Cloud9, puoi scegliere tra AWS SDK per la JavaScript versione 3 (V3) e l' AWS SDK precedente 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 l' AWS SDK di Node.js per JavaScript creare un bucket Amazon S3, elencare i bucket disponibili e quindi eliminare il bucket appena creato.

In questa fase, installi e configuri il modulo client di servizio Amazon S3 dell' AWS SDK per JavaScript Node.js, che fornisce un modo conveniente per interagire con il AWS servizio Amazon 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 Guida introduttiva a Node.js nella AWS SDK for JavaScript Developers Guide (V3).

Dopo aver installato l' AWS SDK for JavaScript in Node.js, devi configurare la gestione delle credenziali nel tuo ambiente. L' AWS SDK per JavaScript Node.js richiede queste credenziali per interagire con i servizi. AWS

Per installare l' AWS SDK per in Node.js JavaScript

Utilizza npm per eseguire il comando install .

npm install @aws-sdk/client-s3

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

Per configurare la gestione delle credenziali nell'ambiente

Ogni volta che si utilizza l' AWS SDK for JavaScript in Node.js per chiamare un AWS servizio, è necessario fornire un set di credenziali con la chiamata. Queste credenziali determinano se l' AWS SDK per JavaScript 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 dei 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 l' AWS SDK di Node.js per JavaScript creare un bucket Amazon S3, elencare i bucket disponibili e quindi eliminare il bucket appena creato.

In questo passaggio, installerai e configurerai l' AWS SDK per JavaScript in Node.js, che fornisce un modo pratico per interagire con AWS servizi come Amazon S3, dal JavaScript tuo codice. Dopo aver installato l' AWS SDK for JavaScript in Node.js, devi configurare la gestione delle credenziali nel tuo ambiente. L' AWS SDK per JavaScript Node.js richiede queste credenziali per interagire con i servizi. AWS

Per installare l' AWS SDK per in Node.js JavaScript

Utilizza npm per eseguire il comando install .

npm install aws-sdk

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

Per configurare la gestione delle credenziali nell'ambiente

Ogni volta che si utilizza l' AWS SDK for JavaScript in Node.js per chiamare un AWS servizio, è necessario fornire un set di credenziali con la chiamata. Queste credenziali determinano se l' AWS SDK per JavaScript 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 dei 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 .

Passaggio 5: aggiungere il codice SDK AWS

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.

Nell' 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.

Nell' AWS Cloud9 IDE, create un file con questo contenuto e salvate 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 codice AWS SDK

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

    npm install async
  2. Nell' AWS Cloud9 IDE, nella barra dei menu, 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 per JavaScript (V3), per Command type. s3.js Se utilizzi 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 desideri creare e quindi eliminare e us-east-2 l'ID della AWS regione in cui desideri creare il bucket. Per ulteriori ID, consulta Amazon Simple Storage Service (Amazon S3) in 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.