AWS Cloud9 ya no está disponible para nuevos clientes. Los clientes existentes de AWS Cloud9 pueden seguir utilizando el servicio con normalidad. Más información
Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Tutorial de TypeScript para AWS Cloud9
En este tutorial se indica cómo trabajar con TypeScript en un entorno de desarrollo de AWS Cloud9.
El uso de este tutorial y la creación de esta muestra pueden generar cargos en su cuenta de AWS. Entre estos se incluyen posibles cargos por servicios como Amazon EC2 y Amazon S3. Para obtener más información, consulte Precios de Amazon EC2
Temas
Requisitos previos
Antes de utilizar este ejemplo, asegúrese de que su configuración cumpla los siguientes requisitos:
-
Debe tener un entorno de desarrollo de AWS Cloud9 EC2. En este ejemplo, se da por hecho que ya tiene un entorno de EC2 que está conectado a una instancia de Amazon EC2 que ejecuta Amazon Linux o Ubuntu Server. Si tiene otro tipo de entorno o sistema operativo, es posible que tenga que adaptar las instrucciones de este ejemplo para configurar herramientas relacionadas. Para obtener más información, consulte Crear un entorno en AWS Cloud9.
-
Ya tiene abierto el IDE de AWS Cloud9 para el entorno existente. Al abrir un entorno, AWS Cloud9 abre el IDE de ese entorno en el navegador web. Para obtener más información, consulte Apertura de un entorno en AWS Cloud9.
Paso 1: Instalar las herramientas necesarias
En este paso, instale TypeScript mediante Node Version Manager (npm
). Para instalar npm
, use Node Version Manager (nvm
). Si no tiene nvm
, instálelo primero en este paso.
-
En una sesión del terminal en el IDE de AWS Cloud9, confirme que TypeScript ya esté instalado. Para ello, ejecute el compilador TypeScript de la línea de comandos con la opción
--version
. (Para iniciar una nueva sesión del terminal, en la barra de menús, seleccione Window [Ventana], New Terminal [Nuevo terminal]). Si es así, la salida contendrá el número de versión de TypeScript. Si TypeScript está instalado, continúe en Paso 2: Agregar el código.tsc --version
-
Confirme si
npm
ya está instalado mediante la ejecución denpm
con la opción--version
. Si es así, el resultado contendrá el número de versión denpm
. Sinpm
está instalado, vaya al paso 10 de este procedimiento para utilizarnpm
para instalar TypeScript.npm --version
-
Ejecute el comando
yum update
(para Amazon Linux) oapt update
(para Ubuntu Server) para garantizar que las últimas actualizaciones de seguridad y correcciones de errores están instaladas.Para Amazon Linux:
sudo yum -y update
Para Ubuntu Server:
sudo apt update
-
Para instalar
npm
, comience por ejecutar el siguiente comando para descargar Node Version Manager (nvm
). (nvm
es un sencillo script de shell Bash que resulta útil para instalar y administrar versiones de Node.js. Para obtener más información, consulte Node Version Manageren el sitio web de GitHub). curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash
-
Para comenzar a utilizar
nvm
, cierre la sesión del terminal e iníciela de nuevo, o cargue el archivo~/.bashrc
que contiene los comandos para cargarnvm
.. ~/.bashrc
-
Confirme que
nvm
está instalado mediante la ejecución denvm
con la opción--version
.nvm --version
-
Instale la versión 16 más reciente de Node.js ejecutando
nvm
. (npm
se incluye en Node.js).nvm install v16
-
Confirme que Node.js está instalado ejecutando la versión de la línea de comandos de Node.js con la opción
--version
.node --version
-
Confirme que
npm
está instalado mediante la ejecución denpm
con la opción--version
.npm --version
-
Instale TypeScript ejecutando
npm
con la opción-g
. De este modo se instala TypeScript como un paquete global en el entorno.npm install -g typescript
-
Confirme que TypeScript está instalado ejecutando el compilador de TypeScript de la línea de comandos con la opción
--version
.tsc --version
Paso 2: Agregar el código
-
En el IDE de AWS Cloud9, cree un archivo llamado
hello.ts
. (Para crear un archivo, en la barra de menús, elija File [Archivo], New File [Archivo nuevo]. Para guardar el archivo, elija File [Archivo], Save [Guardar]). -
En un terminal del IDE, desde el mismo directorio que el archivo
hello.ts
, ejecutenpm
para instalar la biblioteca@types/node
.npm install @types/node
De este modo se añade una carpeta
node_modules/@types/node
en el mismo directorio que el archivohello.ts
. Esta nueva carpeta contiene las definiciones de tipo de Node.js que TypeScript necesitará más adelante en este procedimiento para las propiedadesconsole.log
yprocess.argv
que añadirá al archivohello.ts
. -
Añada el siguiente código al archivo
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 + '.');
Paso 3: Ejecutar el código
-
En el terminal, desde el mismo directorio que el archivo
hello.ts
, ejecute el compilador TypeScript. Especifique el archivohello.ts
y las bibliotecas adicionales que se incluirán.tsc hello.ts --lib es6
TypeScript utiliza el archivo
hello.ts
y un conjunto de archivos de biblioteca ECMAScript 6 (ES6) para transponer el código TypeScript del archivohello.ts
a código JavaScript equivalente en un archivo llamadohello.js
. -
En la ventana Environment (Entorno), abra el archivo
hello.js
. -
En la barra de menús, elija Run (Ejecutar), Run Configurations (Configuraciones de ejecución), New Run Configuration (Nueva configuración de ejecución).
-
En la pestaña [New] - Idle (Nuevo - Inactivo), elija Runner: Auto (Ejecutor: automático) y, a continuación, elija Node.js.
-
En Command (Comando), escriba
hello.js 5 9
. En el código,5
representaprocess.argv[2]
y9
representaprocess.argv[3]
. (process.argv[0]
representa el nombre del tiempo de ejecución (node
) yprocess.argv[1]
representa el nombre del archivo (hello.js
)). -
Elija Run (Ejecutar) y compare los resultados. Cuando haya terminado, elija Stop (Detener).
Hello, World! The sum of 2 and 3 is 5. The sum of 5 and 9 is 14.
nota
En lugar de crear una nueva configuración de ejecución en el IDE, también puede ejecutar este código si ejecuta el comando node hello.js 5 9
desde el terminal.
Paso 4: Instalar y configurar AWS SDK for JavaScript in Node.js
Puede mejorar esta muestra para utilizar AWS SDK for JavaScript in Node.js y crear un bucket de Amazon S3, mostrar una lista de los buckets disponibles y, a continuación, eliminar el bucket que acaba de crear.
En este paso, va a instalar y configurar AWS SDK for JavaScript in Node.js El SDK proporciona un método práctico para interactuar con servicios de AWS, como Amazon S3, desde su código de JavaScript. Una vez instalado AWS SDK for JavaScript in Node.js, debe configurar la administración de credenciales en su entorno. El SDK necesita estas credenciales para interactuar con los servicios de AWS.
Para instalar AWS SDK for JavaScript in Node.js
En una sesión del terminal en el IDE de AWS Cloud9, en el mismo directorio que el archivo hello.js
de Paso 3: Ejecutar el código, ejecute npm
para instalar AWS SDK para JavaScript in Node.js.
npm install aws-sdk
Este comando agrega varias carpetas a la carpeta node_modules
del Paso 3: Ejecutar el código. Estas carpetas contienen código fuente y dependencias para AWS SDK for JavaScript in Node.js. Para obtener más información, consulte Instalación del SDK para JavaScript en la Guía para desarrolladores de AWS SDK for JavaScript.
Para configurar la administración de credenciales en su entorno
Cada vez que utilice AWS SDK for JavaScript in Node.js para llamar a un servicio de AWS, debe proporcionar un conjunto de credenciales con la llamada. Estas credenciales determinan si AWS SDK for JavaScript in Node.js tiene los permisos adecuados para realizar esa llamada. Si las credenciales no cubren los permisos adecuados, la llamada no se realizará correctamente.
En este paso, se almacenan las credenciales dentro del entorno. Para ello, siga las instrucciones de Llamar a los servicios de AWS desde un entorno en AWS Cloud9 y, a continuación, vuelva a este tema.
Para obtener información adicional, consulte Configuración de credenciales en Node.js en la Guía para desarrolladores de AWS SDK for JavaScript.
Paso 5: Agregar el código de AWS SDK
En este paso, agregará algo más de código, esta vez para interactuar con Amazon S3 y crear un bucket, ver una lista de los buckets disponibles y después eliminar el bucket que acaba de crear. Ejecutará este código más adelante.
-
En el IDE de AWS Cloud9, en el mismo directorio que el archivo
hello.js
de los pasos anteriores, cree un archivo denominados3.ts
. -
Desde un terminal del IDE de AWS Cloud9, en el mismo directorio que el archivo
s3.ts
, habilite el código para llamar a operaciones de Amazon S3 de forma asincrónica ejecutando dos vecesnpm
para instalar la biblioteca asíncrona para TypeScript y de nuevo para JavaScript.npm install @types/async # For TypeScript. npm install async # For JavaScript.
-
Añada el siguiente código al archivo
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 ]);
Paso 6: Ejecutar el código de AWS SDK
-
En el terminal, desde el mismo directorio que el archivo
s3.ts
, ejecute el compilador TypeScript. Especifique el archivos3.ts
y las bibliotecas adicionales que se incluirán.tsc s3.ts --lib es6
TypeScript utiliza el archivo
s3.ts
, AWS SDK for JavaScript in Node.js, la biblioteca asíncrona y un conjunto de archivos de biblioteca ECMAScript 6 (ES6) para transponer el código de TypeScript del archivos3.ts
a código de JavaScript equivalente en un archivo llamados3.js
. -
En la ventana Environment (Entorno), abra el archivo
s3.js
. -
En la barra de menús, elija Run (Ejecutar), Run Configurations (Configuraciones de ejecución), New Run Configuration (Nueva configuración de ejecución).
-
En la pestaña [New] - Idle (Nuevo - Inactivo), elija Runner: Auto (Ejecutor: automático) y, a continuación, elija Node.js.
-
En Command (Comando), escriba
s3.js YOUR_BUCKET_NAME THE_AWS_REGION
, dondeYOUR_BUCKET_NAME
el nombre del bucket que quiere crear y después eliminar yTHE_AWS_REGION
es el ID de la región de AWS en la que se creará el bucket. Por ejemplo, para la región EE.UU. Este (Ohio), utiliceus-east-2
. Para ver más ID, visite Amazon Simple Storage Service (Amazon S3) en la Referencia general de Amazon Web Services.nota
Los nombres de bucket de Amazon S3 deben ser únicos en AWS, no solo en la cuenta de AWS.
-
Elija Run (Ejecutar) y compare los resultados. Cuando haya terminado, elija Stop (Detener).
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:
Paso 7: Limpiar
Para evitar que se apliquen cargos continuos en su cuenta de AWS después de terminar de usar esta muestra, debe eliminar el entorno. Para obtener instrucciones, consulte Eliminación de un entorno en AWS Cloud9.