Creación de funciones de Lambda con Go - AWS Lambda

Creación de funciones de Lambda con Go

Go se implementa de manera distinta a otros tiempos de ejecución administrados. Como Go se compila de forma nativa en un archivo binario ejecutable, no requiere un tiempo de ejecución de lenguaje dedicado. Utilice un tiempo de ejecución exclusivo para el sistema operativo (la familia de tiempos de ejecución provided) para implementar las funciones de Go en Lambda.

Compatibilidad del tiempo de ejecución de Go

El tiempo de ejecución administrado de Go 1.x para Lambda ha quedado obsoleto. Si tiene funciones que usan el tiempo de ejecución de Go 1.x, debe migrar sus funciones a provided.al2023 o provided.al2. Los tiempos de ejecución provided.al2023 y provided.al2 ofrecen varias ventajas sobre go1.x, incluida la compatibilidad con la arquitectura arm64 (procesadores Graviton2 de AWS), binarios más pequeños y tiempos de invocación ligeramente más rápidos.

No se requieren cambios de código para esta migración. Los únicos cambios necesarios se refieren a la forma en que se compila el paquete de implementación y al tiempo de ejecución que se utiliza para crear la función. Para obtener más información, consulte Migración de las funciones de AWS Lambda del tiempo de ejecución de Go1.x al tiempo de ejecución personalizado en Amazon Linux 2 en el Blog de informática de AWS.

Exclusivo del sistema operativo
Nombre Identificador Sistema operativo Fecha de baja Bloqueo de la función Crear Bloqueo de la función Actualizar

Tiempo de ejecución exclusivo del sistema operativo

provided.al2023

Amazon Linux 2023

Tiempo de ejecución exclusivo del sistema operativo

provided.al2

Amazon Linux 2

Herramientas y bibliotecas

Lambda proporciona las siguientes herramientas y bibliotecas para el tiempo de ejecución Go:

Para obtener más información, consulte aws-lambda-go en GitHub.

Lambda proporciona las siguientes aplicaciones de ejemplo para el tiempo de ejecución Go:

Aplicaciones de ejemplo de Lambda en Go
  • go-al2: una función de “Hola, mundo” que devuelve la dirección IP pública. Esta aplicación utiliza el tiempo de ejecución personalizado provided.al2.

  • blank-go: una función Go que muestra el uso de las bibliotecas de Go de Lambda, el registro, las variables de entorno y el AWS SDK. Esta aplicación utiliza el tiempo de ejecución go1.x.