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
Temas
- Requisitos previos
- Paso 1: Instalar las herramientas necesarias
- Paso 2 (opcional): instale el. NETCLIextensión para funciones Lambda
- Paso 3: Crea un. NETproyecto de aplicación de consola
- Paso 4: Agregar el código
- Paso 5: Compilar y ejecutar el código
- Paso 6: Crear y configurar un. NETproyecto de aplicación de consola que utiliza AWS SDK for .NET
- Paso 7: Añadir AWS SDK código
- Paso 8: Compila y ejecuta el AWS SDK código
- Paso 9: limpiar
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.
-
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
--version
opció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. -
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
-
Descarga el. NETSDKejecute el siguiente comando en el script de instalación en su entorno.
wget https://dot.net/v1/dotnet-install.sh
-
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
-
Ejecute el script de instalación, que descarga e instala el. NETSDK, ejecutando el siguiente comando.
./dotnet-install.sh -c Current
-
Añada el. NETSDKa tu
PATH
. Para ello, en el perfil de shell del entorno (por ejemplo, el archivo.bashrc
), agregue el subdirectorio$HOME/.dotnet
a la variablePATH
del entorno, como se indica a continuación.-
Abra el archivo
.bashrc
para editarlo mediante el comandovi
.vi ~/.bashrc
-
Para Amazon Linux, con la flecha hacia abajo o la tecla
j
, vaya a la línea que comienza porexport PATH
.Para Ubuntu Server, vaya a la última línea del archivo escribiendo
G
. -
Con la flecha derecha o la tecla
$
, vaya al final de esa línea. -
Cambie a modo de inserción pulsando la tecla
i
. (Aparecerá-- INSERT ---
al final de la pantalla). -
Para Amazon Linux, agregue el subdirectorio
$HOME/.dotnet
a la variablePATH
, 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
-
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, pulseEnter
.
-
-
Carga el. NETSDKbuscando el
.bashrc
archivo.. ~/.bashrc
-
Confirme el. NETSDKse carga al ejecutar. NETCLIcon la
--help
opción.dotnet --help
Si tiene éxito, el. NETSDKse muestra el número de versión, con información de uso adicional.
-
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.
-
Para instalar este paquete, ejecute el comando siguiente:
dotnet tool install -g Amazon.Lambda.Tools
-
Ahora configure la propiedad
PATH
y la variable de entornoDOTNET_ROOT
para que apunten a la herramienta Lambda instalada. En el archivo.bashrc
, busque la secciónexport 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 new
comando, 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.
-
En elIDE, cree un generador para. NETde la siguiente manera.
-
En la barra de menús, seleccione Run, Build System, New Build System (Ejecutar, Sistema de compilación, Nuevo sistema de compilación).
-
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..." }
-
Elija File, Save As (Archivo, Guardar como).
-
En Filename (Nombre de archivo), escriba
.NET.build
. -
En Folder (Carpeta), escriba
/.c9/builders
. -
Seleccione Guardar.
-
-
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
yDebug
al subdirectoriohello/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 carpeta
netcoreapp3.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. -
-
Crea un corredor para. NETde la siguiente manera.
-
En la barra de menús, seleccione Run, Run With, New Runner (Ejecutar, Ejecutar con, Nuevo ejecutor).
-
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..." }
-
Elija File, Save As (Archivo, Guardar como).
-
En Filename (Nombre de archivo), escriba
.NET.run
. -
En Folder (Carpeta), escriba
/.c9/runners
. -
Seleccione Guardar.
-
-
Ejecute la aplicación con dos números enteros que se añadirán (por ejemplo,
5
y9
) de la siguiente manera.-
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). -
En la pestaña [Nuevo] - Inactivo, seleccione Runner: Auto y, a continuación, elija. NET.
-
En el cuadro Command (Comando), escriba
hello 5 9
. -
Elija Ejecutar.
De forma predeterminada, este corredor da instrucciones. NETpara ejecutar el
hello.dll
archivo en elhello/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
-
Crea un. NETproyecto de aplicación de consola. Para ello, ejecute el. NETCLIcon el
new
comando, 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 -
Agregue una referencia de proyecto al paquete de Amazon S3 en AWS SDK for .NET. Para ello, ejecute el. NETCLIcon el
add package
comando, 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.
-
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). -
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 yus-east-2
) de la siguiente manera.-
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). -
En la pestaña [Nuevo] - Inactivo, selecciona Runner: Auto y, a continuación, selecciona. NET.
-
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
). -
Elija Ejecutar.
De forma predeterminada, este ejecutor da instrucciones. NETpara ejecutar el
s3.dll
archivo en els3/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.