. NETtutorial para AWS Cloud9 - AWS Cloud9

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.

. NETtutorial para AWS Cloud9

Este tutorial le permite ejecutar algunos. NETcódigo en un entorno AWS Cloud9 de desarrollo.

Si sigue este tutorial y crea este ejemplo, es posible que se le cobren cargos a su AWS cuenta. Estos incluyen posibles cargos por servicios como Amazon EC2 y Amazon S3. Para obtener más información, consulte Amazon EC2 Pricing y Amazon S3 Pricing.

Requisitos previos

Antes de utilizar este ejemplo, asegúrese de que su configuración cumpla los siguientes requisitos:

  • Debe tener un entorno de AWS Cloud9 EC2 desarrollo existente. En este ejemplo se supone que ya tienes un EC2 entorno conectado a una EC2 instancia de Amazon que ejecuta Amazon Linux o Ubuntu Servidor. 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 entorno existente. AWS Cloud9 IDE Al abrir un entorno, AWS Cloud9 abre el IDE correspondiente a 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, instala el. NETSDKen su entorno, lo cual es necesario para ejecutar este ejemplo.

  1. Confirme si es la última versión de. NETSDKya está instalada en su entorno. Para ello, en una sesión de terminal en AWS Cloud9 IDE, ejecute el. NETInterfaz de línea de comandos básica (CLI) con la --versionopción.

    dotnet --version

    Si el. NETAparece la versión de las herramientas de línea de comandos y la versión es 2.0 o superior, pase aPaso 3: Crea un. NETproyecto de aplicación de consola. Si la versión es inferior a la 2.0 o si aparece un error como bash: dotnet: command not found este, continúe con la instalación de. NETSDK.

  2. Para Amazon Linux, en una sesión de terminal en AWS Cloud9 IDE, ejecute los siguientes comandos para asegurarse de que estén instaladas las últimas actualizaciones de seguridad y correcciones de errores, y para instalar un libunwind paquete que. NETSDKnecesita. [Para iniciar una nueva sesión del terminal, en la barra de menús, seleccione Window, New Terminal (Ventana, Nuevo terminal)].

    sudo yum -y update sudo yum -y install libunwind

    En el caso de Ubuntu Server, en una sesión de terminal AWS Cloud9 IDE, ejecute el siguiente comando para garantizar la instalación de las últimas actualizaciones de seguridad y correcciones de errores. [Para iniciar una nueva sesión del terminal, en la barra de menús, seleccione Window, New Terminal (Ventana, Nuevo terminal)].

    sudo apt -y update
  3. Descarga el. NETSDKejecute el siguiente comando en el script de instalación en su entorno.

    wget https://dot.net/v1/dotnet-install.sh
  4. Haga que el script de instalación sea ejecutable por el usuario actual mediante la ejecución del siguiente comando.

    sudo chmod u=rx dotnet-install.sh
  5. Ejecute el script de instalación, que descarga e instala el. NETSDK, ejecutando el siguiente comando.

    ./dotnet-install.sh -c Current
  6. Añada el. NETSDKa tuPATH. Para ello, en el perfil de shell del entorno (por ejemplo, el archivo .bashrc), agregue el subdirectorio $HOME/.dotnet a la variable PATH del entorno, como se indica a continuación.

    1. Abra el archivo .bashrc para editarlo mediante el comando vi .

      vi ~/.bashrc
    2. Para Amazon Linux, con la flecha hacia abajo o la tecla j, vaya a la línea que comienza por export PATH.

      Para Ubuntu Server, vaya a la última línea del archivo escribiendo G.

    3. Con la flecha derecha o la tecla $, vaya al final de esa línea.

    4. Cambie a modo de inserción pulsando la tecla i. (Aparecerá -- INSERT --- al final de la pantalla).

    5. Para Amazon Linux, agregue el subdirectorio $HOME/.dotnet a la variable PATH , para lo cual debe escribir :$HOME/.dotnet. Asegúrese de incluir el carácter de dos puntos (:). La línea ahora debería tener un aspecto similar al siguiente.

      export PATH=$PATH:$HOME/.local/bin:$HOME/bin:$HOME/.dotnet

      Para Ubuntu Server, pulse la tecla de flecha derecha, pulse Enter dos veces y, a continuación, escriba la siguiente línea sola al final del archivo.

      export PATH=$HOME/.dotnet:$PATH
    6. Guarde el archivo. Para ello, pulse la tecla Esc (desaparecerá -- INSERT --- desde el final de la pantalla), escriba :wq (para escribir y, a continuación, salir del archivo) y, a continuación, pulse Enter.

  7. Carga el. NETSDKbuscando el .bashrc archivo.

    . ~/.bashrc
  8. Confirme el. NETSDKse carga al ejecutar. NETCLIcon la --helpopción.

    dotnet --help

    Si tiene éxito, el. NETSDKse muestra el número de versión, con información de uso adicional.

  9. Si ya no desea conservar el. NETSDKel script de instalación de su entorno, puede eliminarlo de la siguiente manera.

    rm dotnet-install.sh

Paso 2 (opcional): instale el. NETCLIextensión para funciones Lambda

Aunque no es obligatorio para este tutorial, puede implementar AWS Lambda funciones y AWS Serverless Application Model aplicaciones mediante. NETCLIsi también instala el Amazon.Lambda.Tools paquete.

  1. Para instalar este paquete, ejecute el comando siguiente:

    dotnet tool install -g Amazon.Lambda.Tools
  2. Ahora configure la propiedad PATH y la variable de entorno DOTNET_ROOT para que apunten a la herramienta Lambda instalada. En el archivo .bashrc, busque la sección export PATH y edítela para que se parezca a la siguiente (consulte el Paso 1 para obtener más detalles sobre la edición de este archivo):

    export PATH=$PATH:$HOME/.local/bin:$HOME/bin:$HOME/.dotnet:$HOME/.dotnet/tools export DOTNET_ROOT=$HOME/.dotnet

Paso 3: Crea un. NETproyecto de aplicación de consola

En este paso, usa. NETpara crear un proyecto llamadohello. Este proyecto contiene todos los archivos que. NETnecesita ejecutar una aplicación sencilla desde la terminal delIDE. El código de la aplicación está escrito en C#.

Crea un. NETproyecto de aplicación de consola. Para ello, ejecute el. NETCLIcon el newcomando, especificando el tipo de plantilla del proyecto de la aplicación de consola y el lenguaje de programación que se va a utilizar (en este ejemplo, C#).

La opción -n indica que el proyecto se emite en un nuevo directorio, hello. A continuación, vaya a ese directorio.

dotnet new console -lang C# -n hello cd hello

El comando anterior añade un subdirectorio llamado obj con varios archivos, y algunos archivos independientes adicionales, al directorio hello. Debe tener en cuenta los dos archivos clave siguientes:

  • El archivo hello/hello.csproj contiene información sobre el proyecto de aplicación de consola.

  • El archivo hello/Program.cs contiene el código de la aplicación que se ejecutará.

Paso 4: Agregar el código

En este paso, añadirá código a la aplicación.

En la ventana Entorno del AWS Cloud9 IDE, abra el hello/Program.cs archivo.

En el editor, reemplace el contenido actual del archivo por el siguiente código y, a continuación, guarde el archivo Program.cs.

using System; namespace hello { class Program { static void Main(string[] args) { if (args.Length < 2) { Console.WriteLine("Please provide 2 numbers"); return; } Console.WriteLine("Hello, World!"); Console.WriteLine("The sum of 2 and 3 is 5."); int sum = Int32.Parse(args[0]) + Int32.Parse(args[1]); Console.WriteLine("The sum of {0} and {1} is {2}.", args[0], args[1], sum); } } }

Paso 5: Compilar y ejecutar el código

En este paso, compilará el proyecto y sus dependencias en un conjunto de archivos binarios, incluido un archivo de aplicación ejecutable. A continuación, ejecutará la aplicación.

  1. En elIDE, cree un generador para. NETde la siguiente manera.

    1. En la barra de menús, seleccione Run, Build System, New Build System (Ejecutar, Sistema de compilación, Nuevo sistema de compilación).

    2. En la pestaña My Builder.build (Mi Builder.build), reemplace el contenido de la pestaña por el código siguiente.

      { "cmd" : ["dotnet", "build"], "info" : "Building..." }
    3. Elija File, Save As (Archivo, Guardar como).

    4. En Filename (Nombre de archivo), escriba .NET.build.

    5. En Folder (Carpeta), escriba /.c9/builders.

    6. Seleccione Guardar.

  2. Con el contenido del Program.cs archivo mostrado en el editor, seleccione Ejecutar, Construir sistema,. NET. A continuación, elija Run, Build (Ejecutar, Compilar).

    Este constructor añade los subdirectorios bin y Debug al subdirectorio hello/obj. Tenga en cuenta los siguientes tres archivos clave.

    • El archivo hello/bin/Debug/netcoreapp3.1/hello.dll es el archivo de aplicación ejecutable.

    • El archivo hello/bin/Debug/netcoreapp3.1/hello.deps.json enumera las dependencias de la aplicación.

    • El archivo hello/bin/Debug/netcoreapp3.1/hello.runtimeconfig.json especifica el tiempo de ejecución compartido y su versión para la aplicación.

    nota

    El nombre de la carpetanetcoreapp3.1,, refleja la versión de. NETSDKutilizada en este ejemplo. Es posible que vea un número diferente en el nombre de la carpeta dependiendo de la versión que haya instalado.

  3. Crea un corredor para. NETde la siguiente manera.

    1. En la barra de menús, seleccione Run, Run With, New Runner (Ejecutar, Ejecutar con, Nuevo ejecutor).

    2. En la pestaña My Runner.run (Mi Runner.run), reemplace el contenido de la pestaña por el código siguiente.

      { "cmd" : ["dotnet", "run", "$args"], "working_dir": "$file_path", "info" : "Running..." }
    3. Elija File, Save As (Archivo, Guardar como).

    4. En Filename (Nombre de archivo), escriba .NET.run.

    5. En Folder (Carpeta), escriba /.c9/runners.

    6. Seleccione Guardar.

  4. Ejecute la aplicación con dos números enteros que se añadirán (por ejemplo, 5 y 9) de la siguiente manera.

    1. Con el contenido del archivo Program.cs mostrado en el editor, seleccione Run, Run Configurations, New Run Configuration (Ejecutar, Configuraciones de ejecución, Nueva configuración de ejecución).

    2. En la pestaña [Nuevo] - Inactivo, seleccione Runner: Auto y, a continuación, elija. NET.

    3. En el cuadro Command (Comando), escriba hello 5 9.

    4. Elija Ejecutar.

      De forma predeterminada, este corredor da instrucciones. NETpara ejecutar el hello.dll archivo en el hello/bin/Debug/netcoreapp3.1 directorio.

      Compare la salida con la siguiente.

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

Paso 6: Crear y configurar un. NETproyecto de aplicación de consola que utiliza AWS SDK for .NET

Puede mejorar este ejemplo para usarlo AWS SDK for .NET para crear un bucket de Amazon S3, enumerar los buckets disponibles y, a continuación, eliminar el bucket que acaba de crear.

En este nuevo proyecto, añada una referencia al AWS SDK for .NET. AWS SDK for .NET Proporciona una forma cómoda de interactuar con AWS servicios como Amazon S3, desde su. NETcódigo. A continuación, debe configurar la administración de AWS credenciales en su entorno. AWS SDK for .NET Necesita estas credenciales para interactuar con AWS los servicios.

Para crear el proyecto

  1. Crea un. NETproyecto de aplicación de consola. Para ello, ejecute el. NETCLIcon el newcomando, especificando el tipo de plantilla del proyecto de la aplicación de consola y el lenguaje de programación que se va a utilizar.

    La opción -n indica que el proyecto se emite en un nuevo directorio, s3. A continuación, vaya a ese directorio.

    dotnet new console -lang C# -n s3 cd s3
  2. Agregue una referencia de proyecto al paquete de Amazon S3 en AWS SDK for .NET. Para ello, ejecute el. NETCLIcon el add packagecomando, especificando el nombre del paquete Amazon S3 en NuGet. (NuGetdefine cómo se empaquetan para. NETse crean, alojan y consumen, y proporciona las herramientas para cada una de esas funciones.)

    dotnet add package AWSSDK.S3

    Al añadir una referencia de proyecto al paquete Amazon S3, NuGet también añade una referencia de proyecto al resto del AWS SDK for .NET.

    nota

    Para ver los nombres y las versiones de otros paquetes AWS relacionados NuGet, consulte NuGetlos paquetes etiquetados con aws-sdk en el NuGet sitio web.

Para configurar la administración de credenciales AWS

Cada vez que utilice el AWS SDK for .NET para llamar a un AWS servicio, debe proporcionar un conjunto de AWS credenciales con la llamada. Estas credenciales determinan si AWS SDK for .NET tiene los permisos adecuados para realizar esa llamada. Si las credenciales no cubren los permisos adecuados, la llamada no se realizará correctamente.

Para almacenar sus credenciales en el entorno, siga las instrucciones de Llamar Servicios de AWS desde un entorno de AWS Cloud9 y, a continuación, vuelva a este tema.

Para obtener información adicional, consulte Configuración de AWS credenciales en la Guía para AWS SDK for .NET desarrolladores.

Paso 7: Añadir AWS SDK código

En este paso, agregará código para interactuar con Amazon S3 y crear un bucket, eliminará el bucket que acaba de crear y, a continuación, enumerará los buckets disponibles.

Abre el s3/Program.cs archivo en la AWS Cloud9 IDE ventana Entorno. En el editor, reemplace el contenido actual del archivo por el siguiente código y, a continuación, guarde el archivo Program.cs.

using Amazon; using Amazon.S3; using Amazon.S3.Model; using Amazon.S3.Util; using System; using System.Threading.Tasks; namespace s3 { class Program { async static Task Main(string[] args) { if (args.Length < 2) { Console.WriteLine("Usage: <the bucket name> <the AWS Region to use>"); Console.WriteLine("Example: my-test-bucket us-east-2"); return; } if (args[1] != "us-east-2") { Console.WriteLine("Cannot continue. The only supported AWS Region ID is " + "'us-east-2'."); return; } var bucketRegion = RegionEndpoint.USEast2; // Note: You could add more valid AWS Regions above as needed. using (var s3Client = new AmazonS3Client(bucketRegion)) { var bucketName = args[0]; // Create the bucket. try { if (await AmazonS3Util.DoesS3BucketExistV2Async(s3Client, bucketName)) { Console.WriteLine("Cannot continue. Cannot create bucket. \n" + "A bucket named '{0}' already exists.", bucketName); return; } else { Console.WriteLine("\nCreating the bucket named '{0}'...", bucketName); await s3Client.PutBucketAsync(bucketName); } } catch (AmazonS3Exception e) { Console.WriteLine("Cannot continue. {0}", e.Message); } catch (Exception e) { Console.WriteLine("Cannot continue. {0}", e.Message); } // Confirm that the bucket was created. if (await AmazonS3Util.DoesS3BucketExistV2Async(s3Client, bucketName)) { Console.WriteLine("Created the bucket named '{0}'.", bucketName); } else { Console.WriteLine("Did not create the bucket named '{0}'.", bucketName); } // Delete the bucket. Console.WriteLine("\nDeleting the bucket named '{0}'...", bucketName); await s3Client.DeleteBucketAsync(bucketName); // Confirm that the bucket was deleted. if (await AmazonS3Util.DoesS3BucketExistV2Async(s3Client, bucketName)) { Console.WriteLine("Did not delete the bucket named '{0}'.", bucketName); } else { Console.WriteLine("Deleted the bucket named '{0}'.", bucketName); }; // List current buckets. Console.WriteLine("\nMy buckets now are:"); var response = await s3Client.ListBucketsAsync(); foreach (var bucket in response.Buckets) { Console.WriteLine(bucket.BucketName); } } } } }

Paso 8: Compila y ejecuta el AWS SDK código

En este paso, compilará el proyecto y sus dependencias en un conjunto de archivos binarios, incluido un archivo de aplicación ejecutable. A continuación, ejecutará la aplicación.

  1. Compilar el proyecto. Para ello, con el contenido del archivo s3/Program.cs mostrado en el editor, en la barra de menú, elija Run, Build (Ejecutar, Compilar).

  2. Ejecute la aplicación con el nombre del bucket de Amazon S3 que desea crear y el ID de la región de my-test-bucket en la que desea crearlo (por ejemplo, AWS y us-east-2) de la siguiente manera.

    1. Con el contenido del archivo s3/Program.cs aún mostrado en el editor, seleccione Run, Run Configurations, New Run Configuration (Ejecutar, Configuraciones de ejecución, Nueva configuración de ejecución).

    2. En la pestaña [Nuevo] - Inactivo, selecciona Runner: Auto y, a continuación, selecciona. NET.

    3. En el cuadro de comandos, escriba el nombre de la aplicación, el nombre del bucket de Amazon S3 que se va a crear y el ID de la AWS región en la que se va a crear el bucket (por ejemplo,s3 my-test-bucket us-east-2).

    4. Elija Ejecutar.

      De forma predeterminada, este ejecutor da instrucciones. NETpara ejecutar el s3.dll archivo en el s3/bin/Debug/netcoreapp3.1 directorio.

      Compare sus resultados con la siguiente salida.

      Creating a new bucket named 'my-test-bucket'... Created the bucket named 'my-test-bucket'. Deleting the bucket named 'my-test-bucket'... Deleted the bucket named 'my-test-bucket'. My buckets now are:

Paso 9: limpiar

Para evitar que se hagan cargos continuos a su AWS cuenta una vez que haya terminado de usar este ejemplo, debe eliminar el entorno. Para obtener instrucciones, consulte Eliminación de un entorno en AWS Cloud9.