Ejemplo de código de función de Amazon SQS - AWS Lambda

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.

Ejemplo de código de función de Amazon SQS

El código de muestra está disponible para los lenguajes que se indican a continuación.

Node.js

A continuación se muestra código de ejemplo que recibe un mensaje de evento de Amazon SQS como entrada y lo procesa. A modo de ejemplo, el código escribe algunos de los datos de eventos entrantes en los CloudWatch registros.

ejemplo index.js
exports.handler = async function(event, context) { event.Records.forEach(record => { const { body } = record; console.log(body); }); return {}; }

Compile el código de muestra para crear un paquete de implementación. Para obtener instrucciones, consulte Implementar funciones Node.js de Lambda con archivos de archivo.zip.

Java

A continuación se muestra código Java de ejemplo que recibe un mensaje de evento de Amazon SQS como entrada y lo procesa. A modo de ejemplo, el código escribe algunos de los datos de los eventos entrantes en los CloudWatch registros.

En el código, handleRequest es el controlador. Este controlador utiliza la clase SQSEvent predefinida, que se define en la biblioteca aws-lambda-java-events.

ejemplo Handler.java
package example; import com.amazonaws.services.lambda.runtime.Context; import com.amazonaws.services.lambda.runtime.RequestHandler; import com.amazonaws.services.lambda.runtime.events.SQSEvent; import com.amazonaws.services.lambda.runtime.events.SQSEvent.SQSMessage; public class Handler implements RequestHandler<SQSEvent, Void>{ @Override public Void handleRequest(SQSEvent event, Context context) { for(SQSMessage msg : event.getRecords()){ System.out.println(new String(msg.getBody())); } return null; } }
Dependencias
  • aws-lambda-java-core

  • aws-lambda-java-events

Compile el código con las dependencias de la biblioteca Lambda para crear un paquete de implementación. Para obtener instrucciones, consulte Implementar funciones de Lambda Java con archivos de archivo .zip o JAR.

C#

A continuación se muestra código C# de ejemplo que recibe un mensaje de evento de Amazon SQS como entrada y lo procesa. Con fines ilustrativos, el código escribe parte de los datos de los eventos de entrada en la consola.

En el código, handleRequest es el controlador. Este controlador utiliza la clase SQSEvent predefinida, que se define en la biblioteca AWS.Lambda.SQSEvents.

ejemplo ProcessingSQSRecords.cs
[assembly: LambdaSerializer(typeof(Amazon.Lambda.Serialization.Json.JsonSerializer))] namespace SQSLambdaFunction { public class SQSLambdaFunction { public string HandleSQSEvent(SQSEvent sqsEvent, ILambdaContext context) { Console.WriteLine($"Beginning to process {sqsEvent.Records.Count} records..."); foreach (var record in sqsEvent.Records) { Console.WriteLine($"Message ID: {record.MessageId}"); Console.WriteLine($"Event Source: {record.EventSource}"); Console.WriteLine($"Record Body:"); Console.WriteLine(record.Body); } Console.WriteLine("Processing complete."); return $"Processed {sqsEvent.Records.Count} records."; } } }

Reemplace el Program.cs en un proyecto .NET Core con el ejemplo anterior. Para obtener instrucciones, consulte Crear e implementar funciones de Lambda C# con archivos de archivo .zip.

Go

A continuación se muestra código Go de ejemplo que recibe un mensaje de evento de Amazon SQS como entrada y lo procesa. A modo de ejemplo, el código escribe algunos de los datos de los eventos entrantes en los CloudWatch registros.

En el código, handler es el controlador. Este controlador utiliza la clase SQSEvent predefinida, que se define en la biblioteca aws-lambda-go-events.

ejemplo ProcessSQSRecords.go
package main import ( "context" "fmt" "github.com/aws/aws-lambda-go/events" "github.com/aws/aws-lambda-go/lambda" ) func handler(ctx context.Context, sqsEvent events.SQSEvent) error { for _, message := range sqsEvent.Records { fmt.Printf("The message %s for event source %s = %s \n", message.MessageId, message.EventSource, message.Body) } return nil } func main() { lambda.Start(handler) }

Compile el ejecutable con go build y cree un paquete de implementación. Para obtener instrucciones, consulte Implementar funciones de Lambda en Go con archivos .zip.

Python

A continuación se muestra código de ejemplo de Python que acepta un registro de Amazon SQS como entrada y lo procesa. A modo de ejemplo, el código escribe algunos de los datos de eventos entrantes en los CloudWatch registros.

ejemplo ProcessSQSRecords.py
from __future__ import print_function def lambda_handler(event, context): for record in event['Records']: print("test") payload = record["body"] print(str(payload))

Compile el código de muestra para crear un paquete de implementación. Para obtener instrucciones, consulte Uso de archivos .zip para funciones de Lambda en Python.