Código de función de ejemplo de Amazon SQS - AWS Lambda

Código de función de ejemplo 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. Con fines ilustrativos, el código escribe parte de los datos de los eventos de entrada en CloudWatch Logs.

ejemplo index.js (Node.js 12)

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

Comprima el código de muestra para crear un paquete de implementación. Para obtener instrucciones, consulte Implementar Lambda funciones Node.js 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. Con fines ilustrativos, el código escribe parte de los datos de los eventos de entrada en CloudWatch Logs.

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

Cree el código con las dependencias de la biblioteca de Lambda para crear un paquete de implementación. Para obtener instrucciones, consulte Implementar funciones 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 Program.cs en un proyecto .NET Core con el ejemplo anterior. Para obtener instrucciones, consulte Implementar Lambda funciones de 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. Con fines ilustrativos, el código escribe parte de los datos de los eventos de entrada en CloudWatch Logs.

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 Lambda funciones Go con archivos de archivo .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. Con fines ilustrativos, el código escribe parte de los datos de los eventos de entrada en CloudWatch Logs.

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))

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