

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.

# AWS Lambda Proyecto básico
<a name="lambda-creating-project-in-visual-studio"></a>

Puede crear una función de Lambda usando plantillas Microsoft .NET Core, en AWS Toolkit for Visual Studio.

## Creación de un proyecto de Lambda con .NET Core en Visual Studio
<a name="create-a-visual-studio-net-core-lam-project"></a>

Puede usar plantillas y esquemas de Visual Studio de Lambda para acelerar la inicialización del proyecto. Los esquemas de Lambda contienen funciones escritas previamente que simplifican la creación de una base de proyecto flexible.

**nota**  
El servicio Lambda aplica límites de datos para diferentes tipos de paquetes. Para obtener información detallada sobre los límites de datos, consulte el tema [Cuotas de Lambda](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html) en la Guía del usuario de *AWS Lambda*.

**Para crear un proyecto de Lambda en Visual Studio**

1. Desde Visual Studio, expanda el menú **Archivo**, expanda **Nuevo** y, a continuación, elija **Proyecto**.

1. Desde el cuadro de diálogo **Nuevo proyecto**, configure los cuadros desplegables **Idioma**, **Plataforma** y **Tipo de proyecto** en "Todo…" e introduzca **aws lambda** en el campo **Buscar**. Elija la plantilla **Lambda Project (.NET Core - C\$1) de AWS **.

1. En el campo **Nombre**, introduzca **AWSLambdaSample**, especifique la **Ubicación** del archivo y, a continuación, seleccione **Crear** para proceder.

1. Desde la página **Seleccionar esquema,** seleccione el esquema **Función vacía**, a continuación, elija **Finalizar** para crear el proyecto de Visual Studio.

## Revisión de los archivos del proyecto
<a name="review-the-project-files"></a>

Hay dos archivos de proyecto que revisar: `aws-lambda-tools-defaults.json` y `Function.cs`.

El siguiente ejemplo muestra el archivo `aws-lambda-tools-defaults.json`, que se crea automáticamente como parte del proyecto. Puede configurar las opciones de compilación con los campos de este archivo. 

**nota**  
 Las plantillas de proyecto en Visual Studio contienen muchos campos diferentes. Tenga en cuenta lo siguiente:  
**function-handler**: especifica el método que se ejecuta al poner en marcha la función de Lambda
Al especificar un valor en el campo **function-handler**, ese valor se autocompleta en el asistente de publicación.
Pero si cambia el nombre de la función, la clase o el conjunto, también tendrá que actualizar el campo correspondiente en el archivo `aws-lambda-tools-defaults.json`.

```
{
  "Information": [
    "This file provides default values for the deployment wizard inside Visual Studio and the AWS Lambda commands added to the .NET Core CLI.",
    "To learn more about the Lambda commands with the .NET Core CLI execute the following command at the command line in the project root directory.",
    "dotnet lambda help",
    "All the command line options for the Lambda command can be specified in this file."
  ],
  "profile": "default",
  "region": "us-west-2",
  "configuration": "Release",
  "function-architecture": "x86_64",
  "function-runtime": "dotnet8",
  "function-memory-size": 512,
  "function-timeout": 30,
  "function-handler": "AWSLambdaSample::AWSLambdaSample.Function::FunctionHandler"
}
```

Examine el archivo `Function.cs`. `Function.cs` define las funciones de C\$1 que se expondrán como funciones de Lambda. Este `FunctionHandler` es la funcionalidad de Lambda que tiene lugar cuando se ejecuta la función de Lambda. En este proyecto, hay una función definida: `FunctionHandler`, que llama a `ToUpper()` en el texto de entrada. 

Ahora, el proyecto ya está listo para la publicación en Lambda.

## Publicación en Lambda
<a name="publish-to-lam"></a>

El procedimiento y la imagen siguientes muestran cómo cargar la función en Lambda mediante el AWS Toolkit for Visual Studio.

![\[Página para invocar la función de prueba\]](http://docs.aws.amazon.com/es_es/toolkit-for-visual-studio/latest/user-guide/images/uploadnet8.png)


**Publicar su función en Lambda**

1. Navegue hasta el AWS Explorador expandiendo **Ver** y eligiendo el **AWS Explorador**.

1. En el **Explorador de soluciones**, abra el menú contextual del proyecto que desee publicar (haga clic con el botón derecho) y, a continuación, seleccione **Publicar en AWS Lambda** para abrir la ventana Cargar **función Lambda**.

1. Desde la ventana **Cargar función de Lambda**, complete los siguientes campos:

   1. **Tipo de paquete**: elija **Zip**. Se creará un archivo ZIP como resultado del proceso de compilación y se cargará en Lambda. Como alternativa, puede elegir el **Tipo de paquete** **Image**. En el tutorial [Proyecto básico de AWS Lambda: creación de una imagen de Docker](lambda-creating-project-docker-image.md) se describe cómo publicar con el **Tipo de paquete** **Image**.

   1. **Tiempo de ejecución de Lambda**: elija su tiempo de ejecución de Lambda en el menú desplegable.

   1. **Arquitectura**: seleccione su arquitectura preferida.

   1. **Nombre de la función**: seleccione **Crear nueva función** y, a continuación, introduzca un nombre para mostrar para la instancia de Lambda. Tanto el AWS Explorador como la pantalla hacen referencia a este nombre. Consola de administración de AWS 

   1. **Controlador**: utilice este campo para especificar un controlador de funciones. Por ejemplo: **AWSLambdaSample::AWSLambdaSample.Function::FunctionHandler**.

   1. *(Opcional) ***Descripción**: escriba el texto descriptivo que se mostrará con la instancia, desde la Consola de administración de AWS.

   1. **Configuración**: elija la configuración que prefiera en el menú desplegable.

   1. **Marco**: elija el marco que prefiera en el menú desplegable.

   1. **Guardar configuración**: seleccione esta casilla para guardar la configuración actual de `aws-lambda-tools-defaults.json` como predeterminada para futuras implementaciones.

   1. Seleccione **Siguiente** para pasar a la ventana **Detalles avanzados de la función**.

1. En la ventana **Advanced Function Details**, complete los siguientes campos:

   1. **Nombre del rol**: elija un rol asociado a su cuenta. El rol proporciona credenciales temporales para cualquier llamada de AWS servicio realizada mediante el código de la función. Si no tiene un rol, desplácese hasta encontrar el **nuevo rol basado en la política AWS administrada** en el selector desplegable y, a continuación, elija **AWSLambdaBasicExecutionRole**. Este rol tiene permisos de acceso mínimos. 
**nota**  
Su cuenta debe tener permiso para ejecutar la ListPolicies acción de IAM o la lista de **nombres de rol** estará vacía y no podrá continuar.

   1. *(Opcional)* Si su función de Lambda obtiene acceso a los recursos de una Amazon VPC, seleccione las subredes y los grupos de seguridad.

   1. *(Opcional)* Defina las variables de entorno que su función de Lambda necesita. Las claves se cifran automáticamente con la clave de servicio predeterminada gratuita. Como alternativa, puede especificar una AWS KMS clave, por la que se cobrará. [KMS](https://aws.amazon.com/kms/) es un servicio administrado que se puede usar para crear y controlar las claves de cifrado que se utilizan para cifrar los datos. Si tiene una AWS KMS clave, puede seleccionarla de la lista.

1. Seleccione **Cargar** para abrir la ventana **Función de carga** y comenzar el proceso de carga.
**nota**  
La página de la **función de carga** se muestra mientras la función se carga en. AWS Para mantener abierto el asistente tras la carga y poder ver el informe, desactive **Cerrar automáticamente el asistente una vez completado correctamente** en la parte inferior del formulario antes de que se complete el proceso de carga.   
Una vez cargada la función, la función de Lambda estará activa. Se abre la página de visualización **Función:** y aparece la configuración de la nueva función de Lambda.

1. Desde la pestaña **Probar función**, introduzca `hello lambda!` en el campo de entrada de texto y, a continuación, seleccione **Invocar** para invocar manualmente la función de Lambda. El texto, aparecerá en la pestaña **Respuesta**, convertido a mayúsculas. 
**nota**  
Puede volver a abrir **Función**: acceda en cualquier momento haciendo doble clic en la instancia implementada ubicada en el **Explorador de AWS **, debajo del nodo **AWS Lambda**.  
![\[Página para invocar la función de prueba\]](http://docs.aws.amazon.com/es_es/toolkit-for-visual-studio/latest/user-guide/images/invokeBasic.PNG)

1. *(Opcional)* Para confirmar que ha publicado correctamente la función Lambda, inicie sesión en Consola de administración de AWS y, a continuación, seleccione Lambda. La consola muestra todas las funciones de Lambda publicadas, incluida la que acaba de crear.

## Eliminación
<a name="cleanup-lam"></a>

Si no va a seguir desarrollando con este ejemplo, elimine la función que ha implementado para que no se le facturen los recursos no utilizados de la cuenta.

**nota**  
Lambda supervisa automáticamente las funciones de Lambda por usted e informa de las métricas a través de Amazon. CloudWatch Para supervisar su función y solucionar sus problemas, consulte el tema [Solución de problemas y supervisión de funciones AWS Lambda con CloudWatch Amazon](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions.html) en AWS Lambda la Guía para desarrolladores.

**Para eliminar la función**

1. Desde el **Explorador de AWS **, expanda el nodo **AWS Lambda**.

1. Haga clic con el botón derecho en la instancia implementada y, a continuación, seleccione **Eliminar**.