

 AWS Cloud9 non è più disponibile per i nuovi clienti. I clienti esistenti di AWS Cloud9 possono continuare a utilizzare il servizio come di consueto. [Ulteriori informazioni](https://aws.amazon.com/blogs/devops/how-to-migrate-from-aws-cloud9-to-aws-ide-toolkits-or-aws-cloudshell/)

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
<a name="sample-nodejs"></a>

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](https://aws.amazon.com/ec2/pricing/) di [Amazon S3](https://aws.amazon.com/s3/pricing/).

**Topics**
+ [Prerequisiti](#sample-nodejs-prereqs)
+ [Fase 1: installare gli strumenti necessari](#sample-nodejs-install)
+ [Fase 2: aggiungere un codice](#sample-nodejs-code)
+ [Fase 3: eseguire il codice](#sample-nodejs-run)
+ [Passaggio 4: installa e configura l' AWS SDK per JavaScript in Node.js](#sample-nodejs-sdk)
+ [Passaggio 5: aggiungere il codice SDK AWS](#sample-nodejs-sdk-code)
+ [Passaggio 6: Esegui il codice AWS SDK](#sample-nodejs-sdk-run)
+ [Passaggio 7: eseguire l'eliminazione](#sample-nodejs-clean-up)

## Prerequisiti
<a name="sample-nodejs-prereqs"></a>

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' EC2 istanza 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](create-environment.md).
+ **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 [Aprire un ambiente in AWS Cloud9](open-environment.md).

## Fase 1: installare gli strumenti necessari
<a name="sample-nodejs-install"></a>

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 --version`**comando. 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](#sample-nodejs-code).

1. 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
   ```

1. 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](https://github.com/creationix/nvm/blob/master/README.md) Web.) GitHub 

   ```
   curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
   ```

1. 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
   ```

1. 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 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
<a name="sample-nodejs-code"></a>

Nell' AWS Cloud9 IDE, crea un file con questo contenuto e salva il file con il nome`hello.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
<a name="sample-nodejs-run"></a>

1. Nell' AWS Cloud9 IDE, nella barra dei menu, scegli **Esegui, Esegui** **configurazioni**, **Nuova configurazione di esecuzione**.

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

1. 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`).)

1. 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\]](http://docs.aws.amazon.com/it_it/cloud9/latest/user-guide/images/ide-nodejs-simple.png)


## Passaggio 4: installa e configura l' AWS SDK per JavaScript in Node.js
<a name="sample-nodejs-sdk"></a>

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)*](https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/working-with-services). Per informazioni su come iniziare a usare Node.js e AWS SDK for JavaScript (V3), consulta Guida [introduttiva a Node.js](https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/getting-started-nodejs.html#getting-started-nodejs-setup-structure) 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](https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/setting-up.html#installing-jssdk) gli *AWS SDK per 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 Servizi AWS da un ambiente in AWS Cloud9](credentials.md), quindi torna a questo argomento.

Per ulteriori informazioni consulta [Impostazione delle credenziali su Node.js](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/setting-credentials-node.html) nella *Guida per gli sviluppatori di AWS SDK per 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 comodo 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](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/installing-jssdk.html) gli *AWS SDK per 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 Servizi AWS da un ambiente in AWS Cloud9](credentials.md), quindi torna a questo argomento.

Per ulteriori informazioni consulta [Impostazione delle credenziali su Node.js](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/setting-credentials-node.html) nella *Guida per gli sviluppatori di AWS SDK per JavaScript *.

------

## Passaggio 5: aggiungere il codice SDK AWS
<a name="sample-nodejs-sdk-code"></a>

------
#### [ 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 nome`s3.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 nome`s3.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
<a name="sample-nodejs-sdk-run"></a>

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

   ```
   npm install async
   ```

1. Nell' AWS Cloud9 IDE, nella barra dei menu, scegli **Esegui, Esegui** **configurazioni**, **Nuova configurazione di esecuzione**.

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

1. **Se stai usando AWS SDK per JavaScript (V3), per Command type.** `s3.js` Se utilizzi AWS SDK per Javascript (v2), per il tipo **Command**`s3.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 informazioni IDs, consulta [Amazon Simple Storage Service (Amazon S3](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region)) 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 

1. 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:
   ```

## Passaggio 7: eseguire l'eliminazione
<a name="sample-nodejs-clean-up"></a>

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](delete-environment.md).