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.
Creación de funciones de Lambda de .NET con compilación AOT nativa. AWS SAM
Crea y empaqueta sus funciones AWS Lambda de .NET 8 con AWS Serverless Application Model (AWS SAM), utilizando la compilación nativa avanzada (AOT) para mejorar los tiempos de arranque en frío AWS Lambda.
Temas
Descripción general de .NET 8 Natives AOT
Históricamente, las funciones de Lambda .NET tienen tiempos de inicio en frío que afectan a la experiencia del usuario, la latencia del sistema y los costos de uso de las aplicaciones sin servidor. Con la compilación AOT nativa de .NET, puedes mejorar los tiempos de arranque en frío de sus funciones de Lambda. Para obtener más información sobre el AOT nativo para .NET 8, consulta Cómo usar el AOT nativo
Usar AWS SAM con las funciones de Lambda .NET 8
Haz lo siguiente para configurar las funciones de Lambda .NET 8 con AWS Serverless Application Model (AWS SAM):
-
Instala los requisitos previos en su máquina de desarrollo.
-
Define las funciones de Lambda .NET 8 en tu plantilla de AWS SAM.
-
Crea tu aplicación con AWS SAM CLI.
Requisitos previos de instalación
A continuación, se indican los requisitos previos.
-
El valor AWS SAM CLI
-
La CLI de .NET Core
-
La herramienta global .NET Core de Amazon.Lambda.Tools.
-
Docker
Instala la CLIAWS SAM
-
Para comprobar si ya tienes la CLI de AWS SAM instalada, ejecuta lo siguiente:
sam --version
-
Para instalar la CLI de AWS SAM, consulta Instala la AWS SAM CLI.
-
Para actualizar una versión instalada de CLI de AWS SAM, consulta Actualización de AWS SAM CLI.
Instalar la CLI de .NET Core
-
Para descargar e instalar la CLI de .NET Core, consulta Descargar .NET
desde el sitio web de Microsoft. -
Para obtener más información sobre la CLI de .NET Core, consulta la CLI de .NET Core en la Guía para desarrolladores de AWS Lambda.
Instala la herramienta global .NET Core de Amazon.Lambda.Tools.
-
Ejecuta el siguiente comando:
dotnet tool install -g Amazon.Lambda.Tools
-
Si ya tienes la herramienta instalada, puedes asegurarse de que es la versión más reciente usando el siguiente comando:
dotnet tool update -g Amazon.Lambda.Tools
-
Para obtener más información acerca de la herramienta de .NET Core Global Amazon.Lambda.Tools, consulta el repositorio AWS Extensions for .NET CLI
en GitHub.
Instalar Docker
-
Para compilar con AOT nativo, es necesario instalar Docker. Para obtener las instrucciones de instalación, consulta Instalación de Docker para usarlo con AWS SAM CLI.
Define las funciones de Lambda .NET 8 en tu plantilla de AWS SAM.
Para definir una función de Lambda de .NET8 en la plantilla de AWS SAM, haz lo siguiente:
-
En la línea de comandos, ejecuta lo siguiente desde el directorio de inicio que quieras:
sam init
Selecciona
AWS Quick Start Templates
para elegir una plantilla de inicio.Elige la plantilla
Hello World Example
.Introduce la opción de no utilizar el motor de ejecución y el tipo de paquete más populares
n
.En Runtime (Tiempo de ejecución), elige
dotnet8
.En Tipo de paquete, elige
Zip
.Para tu plantilla de inicio, elige
Hello World Example using native AOT
.
Instalar Docker
-
Para compilar con AOT nativo, es necesario instalar Docker. Para obtener las instrucciones de instalación, consulta Instalación de Docker para usarlo con AWS SAM CLI.
Resources: HelloWorldFunction: Type: AWS::Serverless::Function Properties: CodeUri: ./src/HelloWorldAot/ Handler: bootstrap Runtime: dotnet8 Architectures: - x86_64 Events: HelloWorldAot: Type: Api Properties: Path: /hello Method: get
Crea tu aplicación con la CLI de AWS SAM.
Desde el directorio raíz del proyecto, ejecuta sam build
para empezar a crear la aplicación. Si la propiedad PublishAot
se ha definido en el archivo de proyecto de .NET 8, la CLI deAWS SAM se compilará con la compilación AOT nativa. Para obtener más información sobre la propiedad PublishAot
, consulta Implementación nativa de AOT
Para crear la función, AWS SAM CLI invoca la CLI de .NET Core, que utiliza la herramienta de .NET Core Global Amazon.Lambda.Tools.
nota
Al compilar, si existe un archivo .sln
en el mismo directorio o en el directorio principal del proyecto, el directorio que contienes el archivo .sln
se montará en el contenedor. Si no se encuentra ningún archivo .sln
, solo se montará la carpeta del proyecto. Por lo tanto, si está creando una aplicación para varios proyectos, asegúrese de que el archivo .sln
esté ubicado en la propiedad.
Más información
Para obtener más información sobre la creación de funciones de Lambda de.NET 8, consulta Introducción al tiempo de ejecución de .NET 8
Para obtener más información sobre el comando sam build, consulta sam build.