

 AWS Cloud9 não está mais disponível para novos clientes. Os clientes atuais do AWS Cloud9 podem continuar usando o serviço normalmente. [Saiba mais](https://aws.amazon.com/blogs/devops/how-to-migrate-from-aws-cloud9-to-aws-ide-toolkits-or-aws-cloudshell/)

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

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

Este tutorial mostra como trabalhar TypeScript em um ambiente de AWS Cloud9 desenvolvimento.

Seguir este tutorial e criar essa amostra pode resultar em cobranças em sua AWS conta. Isso inclui possíveis cobranças por serviços como o Amazon EC2 e Amazon S3. Para obter mais informações, consulte [Preço do Amazon EC2](https://aws.amazon.com/ec2/pricing/) e [Preço do Amazon S3](https://aws.amazon.com/s3/pricing/).

**Topics**
+ [Pré-requisitos](#sample-typescript-prereqs)
+ [Etapa 1: Instalar as ferramentas necessárias](#sample-typescript-install)
+ [Etapa 2: Adicionar código](#sample-typescript-code)
+ [Etapa 3: Executar o código](#sample-typescript-run)
+ [Etapa 4: instalar e configurar o AWS SDK para JavaScript no Node.js](#sample-typescript-sdk)
+ [Etapa 5: adicionar código AWS SDK](#sample-typescript-sdk-code)
+ [Etapa 6: executar o código do AWS SDK](#sample-typescript-sdk-run)
+ [Etapa 7: limpar](#sample-typescript-clean-up)

## Pré-requisitos
<a name="sample-typescript-prereqs"></a>

Antes de usar esse exemplo, verifique se suas configurações cumprem os requisitos a seguir.
+ **Você deve ter um ambiente de desenvolvimento AWS Cloud9 EC2 existente.** Este exemplo pressupõe que você já tem um ambiente do EC2 conectado a uma instância do Amazon EC2 que executa Amazon Linux ou Ubuntu Server. Caso tenha um tipo diferente de ambiente ou sistema operacional, poderá ser necessário adaptar as instruções desse exemplo para configurar ferramentas relacionadas. Para obter mais informações, consulte [Criando um ambiente em AWS Cloud9](create-environment.md).
+ **Você tem o AWS Cloud9 IDE para o ambiente existente já aberto.** Quando você abre um ambiente, AWS Cloud9 abre o IDE desse ambiente em seu navegador da web. Para obter mais informações, consulte [Abrindo um ambiente em AWS Cloud9](open-environment.md).

## Etapa 1: Instalar as ferramentas necessárias
<a name="sample-typescript-install"></a>

Nesta etapa, você instala TypeScript usando o Node Package Manager (**`npm`**). Para instalar ** `npm` **, você usa o Gerenciador de versão do Node (** `nvm` **). Se você não tiver ** `nvm` **, instale-o nesta etapa primeiro.

1. Em uma sessão de terminal no AWS Cloud9 IDE, confirme se já TypeScript está instalado executando o TypeScript compilador de linha de comando com a **`--version`**opção. (Para iniciar uma nova sessão de terminal, na barra de menus, selecione **Janela**, **Novo terminal**.) Se for bem-sucedida, a saída conterá o número da TypeScript versão. Se TypeScript estiver instalado, vá para[Etapa 2: Adicionar código](#sample-typescript-code).

   ```
   tsc --version
   ```

1. Confirme se o ** `npm` ** já está instalado executando o ** `npm` ** com a opção ** `--version` **. Se sim, a saída contém o número da versão ** `npm` **. Se **`npm`**estiver instalado, vá para a etapa 10 deste procedimento **`npm`**para usar na instalação TypeScript.

   ```
   npm --version
   ```

1. Execute o comando ** `yum update` ** para Amazon Linux ou o comando ** `apt update` ** para Ubuntu Server a fim de ajudar a garantir que as atualizações de segurança e correções de bug mais recentes sejam instaladas.

   Para Amazon Linux:

   ```
   sudo yum -y update
   ```

   Para Ubuntu Server:

   ```
   sudo apt update
   ```

1. Para instalar **`npm`**, comece executando o comando a seguir para baixar o Node Version Manager (**`nvm`**). (**`nvm`**é um script de shell Bash simples que é útil para instalar e gerenciar versões do Node.js. Para obter mais informações, consulte [Node Version Manager](https://github.com/creationix/nvm/blob/master/README.md) no GitHub site.)

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

1. Para começar a usar o ** `nvm` **, feche a sessão de terminal e inicie-a novamente ou extraia o arquivo `~/.bashrc` que contém os comandos para carregar o ** `nvm` **.

   ```
   . ~/.bashrc
   ```

1. Confirme se o ** `nvm` ** está instalado executando o ** `nvm` ** com a opção ** `--version` **.

   ```
   nvm --version
   ```

1. Instale a versão 16 mais recente do Node.js executando ** `nvm` **. (** `npm` ** está incluído em Node.js.)

   ```
   nvm install v16
   ```

1. Confirme se o Node.js está instalado executando a versão de linha de comando do Node.js com a opção ** `--version` **.

   ```
   node --version
   ```

1. Confirme se o ** `npm` ** está instalado executando o ** `npm` ** com a opção ** `--version` **.

   ```
   npm --version
   ```

1. Instale TypeScript executando **`npm`**com a **`-g`**opção. Isso é instalado TypeScript como um pacote global no ambiente.

   ```
   npm install -g typescript
   ```

1. Confirme se TypeScript está instalado executando o TypeScript compilador de linha de comando com a **`--version`**opção.

   ```
   tsc --version
   ```

## Etapa 2: Adicionar código
<a name="sample-typescript-code"></a>

1. No AWS Cloud9 IDE, crie um arquivo chamado`hello.ts`. (Para criar um arquivo, na barra de menus, selecione **File** (Arquivo), **New File** (Novo arquivo). Para salvar o arquivo, selecione **File** (Arquivo), **Save** (Salvar).)

1. Em um terminal no IDE, no mesmo diretório que o arquivo `hello.ts`, execute ** `npm` ** para instalar a biblioteca `@types/node`.

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

   Isso adiciona uma pasta `node_modules/@types/node` no mesmo diretório que o arquivo `hello.ts`. Essa nova pasta contém as definições do tipo Node.js que serão TypeScript necessárias posteriormente neste procedimento para as `process.argv` propriedades `console.log` e que você adicionará ao `hello.ts` arquivo.

1. Adicione o seguinte código ao arquivo `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 + '.');
   ```

## Etapa 3: Executar o código
<a name="sample-typescript-run"></a>

1. No terminal, no mesmo diretório do `hello.ts` arquivo, execute o TypeScript compilador. Especifique o arquivo `hello.ts` e bibliotecas adicionais a serem incluídas.

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

   TypeScript usa o `hello.ts` arquivo e um conjunto de ECMAScript 6 (ES6) arquivos de biblioteca para transpilar o TypeScript código no `hello.ts` arquivo em JavaScript código equivalente em um arquivo chamado. `hello.js`

1. Na janela **Ambiente**, abra o arquivo `hello.js`.

1. Na barra de menus, selecione **Executar**, **Configurações de execução**, **Nova configuração de execução**.

1. Na guia **[Novo] – Inativo**, selecione **Executor: automático** e escolha **Node.js**.

1. Em **Comando**, digite `hello.js 5 9`. No código, `5` representa `process.argv[2]`, e `9` representa `process.argv[3]`. (`process.argv[0]` representa o nome do tempo de execução (`node`) e `process.argv[1]` representa o nome do arquivo (`hello.js`).)

1. Selecione **Executar** e compare sua saída. Quando terminar, selecione **Parar**.

   ```
   Hello, World!
   The sum of 2 and 3 is 5.
   The sum of 5 and 9 is 14.
   ```

![\[Saída Node.js após executar o código no AWS Cloud9 IDE\]](http://docs.aws.amazon.com/pt_br/cloud9/latest/user-guide/images/ide-nodejs-simple.png)


**nota**  
Em vez de criar uma nova configuração de execução no IDE, você também pode executar esse código executando o comando ** `node hello.js 5 9` ** no terminal.

## Etapa 4: instalar e configurar o AWS SDK para JavaScript no Node.js
<a name="sample-typescript-sdk"></a>

Você pode aprimorar essa amostra para usar o AWS SDK JavaScript em Node.js para criar um bucket do Amazon S3, listar seus buckets disponíveis e, em seguida, excluir o bucket que você acabou de criar.

Nesta etapa, você instala e configura o AWS SDK para o JavaScript Node.js. O SDK fornece uma maneira conveniente de interagir com AWS serviços como o Amazon S3, a partir do JavaScript seu código. Depois de instalar o AWS SDK para JavaScript no Node.js, você deve configurar o gerenciamento de credenciais em seu ambiente. O SDK precisa dessas credenciais para interagir com AWS os serviços.

### Para instalar o AWS SDK JavaScript em Node.js
<a name="sample-typescript-sdk-install-sdk"></a>

Em uma sessão de terminal no AWS Cloud9 IDE, no mesmo diretório do `hello.js` arquivo[Etapa 3: Executar o código](#sample-typescript-run), execute **`npm`**para instalar o AWS SDK JavaScript em Node.js.

```
npm install aws-sdk
```

Esse comando adiciona várias pastas à pasta `node_modules` em [Etapa 3: Executar o código](#sample-typescript-run). Essas pastas contêm o código-fonte e as dependências do AWS SDK JavaScript em Node.js. Para obter mais informações, consulte [Instalação do SDK JavaScript](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/installing-jssdk.html) no *Guia do AWS SDK para JavaScript desenvolvedor*.

### Como configurar o gerenciamento de credenciais no ambiente
<a name="sample-typescript-sdk-creds"></a>

Sempre que você usa o AWS SDK do Node.js para JavaScript chamar um AWS serviço, você deve fornecer um conjunto de credenciais com a chamada. Essas credenciais determinam se o AWS SDK do Node.js tem as permissões apropriadas para fazer essa chamada. JavaScript Se as credenciais não cobrirem as permissões apropriadas, a chamada falhará.

Nesta etapa, você armazenará as credenciais no ambiente. Para fazer isso, siga as instruções em [Chamando Serviços da AWS de um ambiente em AWS Cloud9](credentials.md) e retorne a este tópico.

Para obter mais informações, consulte [Setting Credentials in Node.js](https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/setting-credentials-node.html) (Definir credenciais no Node.js) no *Manual do desenvolvedor do AWS SDK para JavaScript *.

## Etapa 5: adicionar código AWS SDK
<a name="sample-typescript-sdk-code"></a>

Nesta etapa, adicione mais código, dessa vez para interagir com o Amazon S3 para criar um bucket, listar os buckets disponíveis e, excluir o bucket que você acabou de criar. Esse código será executado mais tarde.

1. No AWS Cloud9 IDE, no mesmo diretório do `hello.js` arquivo nas etapas anteriores, crie um arquivo chamado`s3.ts`.

1. Em um terminal no AWS Cloud9 IDE, no mesmo diretório do `s3.ts` arquivo, habilite o código para chamar as operações do Amazon S3 de forma assíncrona executando **`npm`**duas vezes para instalar a biblioteca assíncrona e novamente para. TypeScript JavaScript

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

1. Adicione o seguinte código ao arquivo `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
   ]);
   ```

## Etapa 6: executar o código do AWS SDK
<a name="sample-typescript-sdk-run"></a>

1. No terminal, no mesmo diretório do `s3.ts` arquivo, execute o TypeScript compilador. Especifique o arquivo `s3.ts` e bibliotecas adicionais a serem incluídas.

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

   TypeScript usa o `s3.ts` arquivo, o AWS SDK do Node.js, a biblioteca JavaScript assíncrona e um conjunto de arquivos de biblioteca ECMAScript 6 (ES6) para transpilar o TypeScript código no arquivo em JavaScript código equivalente em um `s3.ts` arquivo chamado. `s3.js`

1. Na janela **Ambiente**, abra o arquivo `s3.js`.

1. Na barra de menus, selecione **Executar**, **Configurações de execução**, **Nova configuração de execução**.

1. Na guia **[Novo] – Inativo**, selecione **Executor: automático** e escolha **Node.js**.

1. Em **Command**`s3.js YOUR_BUCKET_NAME THE_AWS_REGION `, digite, onde ` YOUR_BUCKET_NAME ` está o nome do bucket que você deseja criar e depois excluir, e ` THE_AWS_REGION ` é o ID da AWS região na qual criar o bucket. Por exemplo, para a região Leste dos EUA (Ohio), use `us-east-2`. Para obter mais informações IDs, consulte [Amazon Simple Storage Service (Amazon S3](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region)) no. *Referência geral da Amazon Web Services*
**nota**  
Os nomes dos buckets do Amazon S3 devem ser exclusivos em toda a sua conta, AWS não apenas em sua conta. AWS 

1. Selecione **Executar** e compare sua saída. Quando terminar, selecione **Parar**.

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

## Etapa 7: limpar
<a name="sample-typescript-clean-up"></a>

Para evitar cobranças contínuas em sua AWS conta depois de terminar de usar esse exemplo, você deve excluir o ambiente. Para instruções, consulte [Excluindo um ambiente no AWS Cloud9](delete-environment.md).