

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

# TypeScript tutorial per AWS Cloud9
<a name="sample-typescript"></a>

Questo tutorial mostra come lavorare TypeScript in un ambiente di AWS Cloud9 sviluppo.

Seguire questo tutorial e creare questo esempio potrebbe 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](https://aws.amazon.com/ec2/pricing/) e [Prezzi di Amazon S3](https://aws.amazon.com/s3/pricing/).

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

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

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](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-typescript-install"></a>

In questo passaggio, si installa TypeScript utilizzando Node Package Manager (**`npm`**). Per installare ** `npm` **, puoi utilizzare Node Version Manager (** `nvm` **). Se non disponi di ** `nvm` **, è possibile installarlo in questa fase.

1. In una sessione di terminale nell' AWS Cloud9 IDE, verificate se TypeScript è già installato eseguendo il TypeScript compilatore da riga di comando con l'**`--version`**opzione. Per avviare una nuova sessione del terminale, dalla barra dei menu scegli **Window** (Finestra), **New Terminal** (Nuovo terminale). In caso di successo, l'output contiene il numero di TypeScript versione. Se TypeScript è installato, vai avanti a[Fase 2: aggiungere un codice](#sample-typescript-code).

   ```
   tsc --version
   ```

1. Conferma se ** `npm` ** è già installato eseguendo ** `npm` ** con l'opzione ** `--version` **. In caso di esito positivo, l'output contiene il numero di versione di ** `npm` **. Se **`npm`**è installato, vai avanti al passaggio 10 di questa procedura da utilizzare **`npm`**per l'installazione. TypeScript

   ```
   npm --version
   ```

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 l'installazione **`npm`**, inizia eseguendo il seguente 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](https://github.com/creationix/nvm/blob/master/README.md) sul GitHub sito Web.)

   ```
   curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/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. Conferma che ** `nvm` ** è installato eseguendo ** `nvm` ** con l'opzione ** `--version` **.

   ```
   nvm --version
   ```

1. Installa l'ultima versione 16 di Node.js eseguendo **`nvm`**. (**`npm`**è incluso in Node.js.)

   ```
   nvm install v16
   ```

1. Conferma che Node.js è installato eseguendo la versione della riga di comando di Node.js con l'opzione ** `--version` **.

   ```
   node --version
   ```

1. Conferma che ** `npm` ** è installato eseguendo ** `npm` ** con l'opzione ** `--version` **.

   ```
   npm --version
   ```

1. Installa TypeScript eseguendo **`npm`**con l'**`-g`**opzione. Si installa TypeScript come pacchetto globale nell'ambiente.

   ```
   npm install -g typescript
   ```

1. Conferma che TypeScript sia installato eseguendo il TypeScript compilatore a riga di comando con l'**`--version`**opzione.

   ```
   tsc --version
   ```

## Fase 2: aggiungere un codice
<a name="sample-typescript-code"></a>

1. Nell' AWS Cloud9 IDE, create un file denominato`hello.ts`. (Per creare un file, nella barra dei menu scegli **File**, **New File** (Nuovo file). Per salvare il file, scegli **File**,**Save** (Salva)).

1. In un terminale nell'IDE, dalla stessa directory del file `hello.ts`, esegui ** `npm` ** per installare la libreria `@types/node`.

   ```
   npm install @types/node
   ```

   Questa operazione aggiunge una cartella `node_modules/@types/node` nella stessa directory del file `hello.ts`. Questa nuova cartella contiene le definizioni dei tipi di Node.js che saranno TypeScript necessarie più avanti in questa procedura per le `console.log` `process.argv` proprietà che aggiungerete al `hello.ts` file.

1. Aggiungi il seguente codice al file `hello.ts`:

   ```
   console.log('Hello, World!');
   
   console.log('The sum of 2 and 3 is 5.');
   
   const sum: number = 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-typescript-run"></a>

1. Nel terminale, dalla stessa directory del `hello.ts` file, esegui il TypeScript compilatore. Specifica il file `hello.ts` e le librerie aggiuntive da includere.

   ```
   tsc hello.ts --lib es6
   ```

   TypeScript utilizza il `hello.ts` file e un set di ECMAScript 6 (ES6) file di libreria per trasporre il TypeScript codice nel `hello.ts` file in JavaScript codice equivalente in un file denominato. `hello.js`

1. Nella finestra **Environment (Ambiente)** apri il file `hello.js`.

1. Nella barra dei menu, selezionare **Run (Esegui)**, **Run Configurations (Configurazioni esecuzione)**, **New Run Configuration (Nuova configurazione 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 **Run (Esegui)** ed esegui un confronto dell'output. Al termine, scegli **Stop (Arresta)**.

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


**Nota**  
Invece di creare una nuova configurazione di esecuzione nell'IDE, puoi anche eseguire questo codice eseguendo il comando ** `node hello.js 5 9` ** dal terminale.

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

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, installi e configuri l' AWS SDK per Node.js. JavaScript L'SDK offre 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'SDK necessita di queste credenziali per interagire con i servizi. AWS 

### Per installare l' AWS SDK for in Node.js JavaScript
<a name="sample-typescript-sdk-install-sdk"></a>

In una sessione terminale nell' AWS Cloud9 IDE, dalla stessa directory del `hello.js` file da[Fase 3: eseguire il codice](#sample-typescript-run), **`npm`**esegui l'installazione dell' AWS SDK per Node.js JavaScript .

```
npm install aws-sdk
```

Questo comando aggiunge varie cartelle alla cartella `node_modules` da [Fase 3: eseguire il codice](#sample-typescript-run). Queste cartelle contengono il codice sorgente e le dipendenze per l' AWS SDK per JavaScript Node.js. *Per ulteriori informazioni, consulta [Installazione dell'SDK for JavaScript nella Guida per gli](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/installing-jssdk.html)AWS SDK per JavaScript sviluppatori.*

### Per configurare la gestione delle credenziali nell'ambiente
<a name="sample-typescript-sdk-creds"></a>

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/v3/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-typescript-sdk-code"></a>

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.

1. Nell' AWS Cloud9 IDE, nella stessa directory del `hello.js` file nei passaggi precedenti, create un file denominato`s3.ts`.

1. Da un terminale dell' AWS Cloud9 IDE, nella stessa directory del `s3.ts` file, abilita il codice per chiamare le operazioni di Amazon S3 in modo asincrono eseguendolo **`npm`**due volte per installare la libreria asincrona e ancora per. TypeScript JavaScript

   ```
   npm install @types/async # For TypeScript.
   npm install async        # For JavaScript.
   ```

1. Aggiungi il seguente codice al file `s3.ts`:

   ```
   import * as async from 'async';
   import * as AWS from 'aws-sdk';
   
   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);
   }
   
   const AWS = require('aws-sdk'); // To set the AWS credentials and AWS Region.
   const async = require('async'); // To call AWS operations asynchronously.
   
   const s3: AWS.S3 = new AWS.S3({apiVersion: '2006-03-01'});
   const bucket_name: string = process.argv[2];
   const region: string = process.argv[3];
   
   AWS.config.update({
     region: region
   });
   
   const create_bucket_params: any = {
     Bucket: bucket_name,
     CreateBucketConfiguration: {
       LocationConstraint: region
     }
   };
   
   const delete_bucket_params: any = {
     Bucket: bucket_name
   };
   
   // List all of your available buckets in this AWS Region.
   function listMyBuckets(callback): void {
     s3.listBuckets(function(err, data) {
       if (err) {
   
       } else {
         console.log("My buckets now are:\n");
   
         for (let i: number = 0; i < data.Buckets.length; i++) {
           console.log(data.Buckets[i].Name);
         }
       }
   
       callback(err);
     });
   }
   
   // Create a bucket in this AWS Region.
   function createMyBucket(callback): void {
     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): void {
     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 SDK AWS
<a name="sample-typescript-sdk-run"></a>

1. Nel terminale, dalla stessa directory del `s3.ts` file, esegui il TypeScript compilatore. Specifica il file `s3.ts` e le librerie aggiuntive da includere.

   ```
   tsc s3.ts --lib es6
   ```

   TypeScript utilizza il `s3.ts` file, l' AWS SDK for JavaScript in Node.js, la libreria async e un set di ECMAScript 6 (ES6) file di libreria per trasporre il TypeScript codice nel file in codice equivalente JavaScript in un `s3.ts` file denominato. `s3.js`

1. Nella finestra **Environment (Ambiente)** apri il file `s3.js`.

1. Nella barra dei menu, selezionare **Run (Esegui)**, **Run Configurations (Configurazioni esecuzione)**, **New Run Configuration (Nuova configurazione esecuzione)**.

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

1. In **Comando**, digitate`s3.js YOUR_BUCKET_NAME THE_AWS_REGION `, dove ` YOUR_BUCKET_NAME ` è il nome del bucket che desiderate creare e quindi eliminare, e ` THE_AWS_REGION ` indica l'ID della AWS regione in cui creare il bucket. Ad esempio, per la regione Stati Uniti orientali (Ohio) utilizzare `us-east-2`. 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 **Run (Esegui)** ed esegui un confronto dell'output. Al termine, scegli **Stop (Arresta)**.

   ```
   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
<a name="sample-typescript-clean-up"></a>

Per evitare addebiti continui sul tuo AWS account dopo aver finito di utilizzare questo esempio, devi eliminare l'ambiente. Per istruzioni, consulta [Eliminazione di un ambiente in AWS Cloud9](delete-environment.md).