Tutorial do Node.js para AWS Cloud9 - AWS Cloud9

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

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

Tutorial do Node.js para AWS Cloud9

Este tutorial permite que você execute alguns scripts do Node.js 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 Definição de preço do Amazon EC2 e Definição de preço do Amazon S3.

Pré-requisitos

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 ter mais informações, consulte Criando um ambiente em AWS Cloud9.

  • 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 ter mais informações, consulte Abrir um ambiente no AWS Cloud9.

Etapa 1: Instalar as ferramentas necessárias

Nesta etapa, instale o Node.js, necessário para executar esse exemplo.

  1. Em uma sessão de terminal no AWS Cloud9 IDE, confirme se o Node.js já está instalado executando o node --versioncomando. (Para iniciar uma nova sessão de terminal, na barra de menus, selecione Janela, Novo terminal.) Se sim, a saída contém o número da versão da Node.js. Se o Node.js estiver instalado, avance para Etapa 2: Adicionar código.

  2. 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
  3. Para instalar o Node.js, comece executando esse comando 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 no GitHub site.)

    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
  4. 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
  5. Execute esse comando para instalar o Node.js 16 no Amazon Linux 2, Amazon Linux 1 e Ubuntu 18.04. As instâncias do Amazon Linux 1 e do Ubuntu 18.04 só são compatíveis com o Node.js até a v16.

    nvm install 16

    Execute este comando para instalar a versão mais recente do Node.js no Amazon Linux 2023 e no Ubuntu 22.04:

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

    A AWS Cloud9 imagem mais recente do AL2023 tem o Node.js 20 instalado e a AWS Cloud9 imagem mais recente do Amazon Linux 2 tem o Node.js 18 instalado. Se você quiser instalar o Node.js 18 no Amazon Linux 2 AWS Cloud9 manualmente, execute o seguinte comando no terminal do 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

Etapa 2: Adicionar código

No AWS Cloud9 IDE, crie um arquivo com esse conteúdo e salve o arquivo com o nomehello.js. (Para criar um arquivo, na barra de menus, selecione File (Arquivo), New File (Novo arquivo). Para salvar o arquivo, selecione File (Arquivo), Save (Salvar).)

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

Etapa 3: Executar o código

  1. No AWS Cloud9 IDE, na barra de menu, escolha Executar, Configurações de execução, Nova configuração de execução.

  2. Na guia [Novo] – Inativo, selecione Executor: automático e, em seguida, selecione Node.js.

  3. 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).)

  4. Selecione o botão Executar e compare a sua saída.

    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

Etapa 4: instalar e configurar o AWS SDK para JavaScript no Node.js

Ao executar scripts do Node.js AWS Cloud9, você pode escolher entre o AWS SDK para a JavaScript versão 3 (V3) e o AWS SDK mais antigo para a JavaScript versão 2 (V2). Assim como na V2, a V3 permite que você trabalhe facilmente com a Amazon Web Services, mas foi incorporada TypeScript e adiciona vários recursos frequentemente solicitados, como pacotes modularizados.

AWS SDK for JavaScript (V3)

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 módulo cliente do serviço Amazon S3 do AWS SDK para JavaScript o Node.js, que fornece uma maneira conveniente de interagir com o AWS serviço Amazon S3 a partir do seu código. JavaScript

Se você quiser usar outros AWS serviços, precisará instalá-los separadamente. Para obter mais informações sobre a instalação de AWS módulos, consulte o Guia do AWS desenvolvedor (V3). Para obter informações sobre como começar a usar o Node.js e o AWS SDK for JavaScript (V3), consulte Introdução ao Node.js no Guia do AWS SDK para JavaScript desenvolvedores (V3).

Depois de instalar o AWS SDK para JavaScript no Node.js, você deve configurar o gerenciamento de credenciais em seu ambiente. O AWS SDK do Node.js precisa dessas credenciais para interagir com AWS os serviços. JavaScript

Para instalar o AWS SDK JavaScript em Node.js

Use o npm para executar o comando install .

npm install @aws-sdk/client-s3

Para obter mais informações, consulte Instalando o SDK JavaScript no Guia do AWS SDK for JavaScript desenvolvedor.

Como configurar o gerenciamento de credenciais no ambiente

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 Chamar serviços da AWS em um ambiente no AWS Cloud9 e retorne a este tópico.

Para obter mais informações, consulte Setting Credentials in Node.js (Definir credenciais no Node.js) no Manual do desenvolvedor do AWS SDK for JavaScript .

AWS SDK for JavaScript (V2)

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 JavaScript no Node.js, que 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 AWS SDK do Node.js precisa dessas credenciais para interagir com AWS os serviços. JavaScript

Para instalar o AWS SDK JavaScript em Node.js

Use o npm para executar o comando install .

npm install aws-sdk

Para obter mais informações, consulte Instalando o SDK JavaScript no Guia do AWS SDK for JavaScript desenvolvedor.

Como configurar o gerenciamento de credenciais no ambiente

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 Chamar serviços da AWS em um ambiente no AWS Cloud9 e retorne a este tópico.

Para obter mais informações, consulte Setting Credentials in Node.js (Definir credenciais no Node.js) no Manual do desenvolvedor do AWS SDK for JavaScript .

Etapa 5: adicionar código AWS SDK

AWS SDK for JavaScript (V3)

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. xEsse código será executado mais tarde.

No AWS Cloud9 IDE, crie um arquivo com esse conteúdo e salve o arquivo com o 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)

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. xEsse código será executado mais tarde.

No AWS Cloud9 IDE, crie um arquivo com esse conteúdo e salve o arquivo com o 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, ]);

Etapa 6: executar o código do AWS SDK

  1. Habilite o código para chamar operações do Amazon S3 de forma assíncrona usando o npm para executar o comando install .

    npm install async
  2. No AWS Cloud9 IDE, na barra de menu, escolha Executar, Configurações de execução, Nova configuração de execução.

  3. Na guia [Novo] – Inativo, selecione Executor: automático e, em seguida, selecione Node.js.

  4. Se você estiver usando o AWS SDK para JavaScript (V3), para o tipo de comando. s3.js Se você estiver usando o AWS SDK para Javascript (v2), para o tipo Commands3.js my-test-bucket us-east-2, onde my-test-bucket está o nome do bucket que você deseja criar e depois excluir, e us-east-2 é o ID da AWS região na qual você deseja criar o bucket. Para obter mais IDs, consulte Amazon Simple Storage Service (Amazon S3) na 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

  5. Selecione o botão Executar e compare a sua saída.

    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

Para evitar cobranças contínuas em sua AWS conta depois de terminar de usar esse exemplo, você deve excluir o ambiente. Para obter instruções, consulte Excluir um ambiente no AWS Cloud9.