Exemplo de código de função do Amazon SQS - AWS Lambda

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Exemplo de código de função do Amazon SQS

O código de amostra está disponível para as seguintes linguagens.

Node.js

A seguir, um exemplo de código que recebe uma mensagem de evento do Amazon SQS como uma entrada e a processa. Por exemplo, o código grava alguns dos dados de eventos recebidos em CloudWatch Logs.

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

Cria um zip do código do exemplo para criar um pacote de implantação. Para obter instruções, consulte Implantar funções do Lambda em Node.js com arquivos .zip.

Java

A seguir, um exemplo de código Java que recebe uma mensagem de evento do Amazon SQS como uma entrada e a processa. Por exemplo, o código grava alguns dos dados de eventos recebidos em CloudWatch Logs.

No código, handleRequest é o handler. O handler usa a classe predefinida SQSEvent definida na biblioteca aws-lambda-java-events.

exemplo 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; } }
Dependências
  • aws-lambda-java-core

  • aws-lambda-java-events

Crie o código com as dependências da biblioteca do Lambda para criar um pacote de implantação. Para obter instruções, consulte Implantar funções do Lambda em Java com arquivos .zip ou JAR.

C#

A seguir, um exemplo de código C# que recebe uma mensagem de evento do Amazon SQS como uma entrada e a processa. Na ilustração, o código grava alguns dos dados de eventos de entrada no console.

No código, handleRequest é o handler. O handler usa a classe predefinida SQSEvent definida na biblioteca AWS.Lambda.SQSEvents.

exemplo 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."; } } }

Substitua o Program.cs em um projeto do .NET Core pelo exemplo acima. Para obter instruções, consulte Criar e implantar funções do Lambda em C# com arquivos .zip.

Go

A seguir, um exemplo de código Go que recebe uma mensagem de evento do Amazon SQS como uma entrada e a processa. Por exemplo, o código grava alguns dos dados de eventos recebidos em CloudWatch Logs.

No código, handler é o handler. O handler usa a classe predefinida SQSEvent definida na biblioteca aws-lambda-go-events.

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

Crie o executável com o go build e crie um pacote de implantação. Para obter instruções, consulte Implantar funções do Lambda em Go com arquivos .zip.

Python

A seguir, um exemplo de código Python que aceita um registro do Amazon SQS como entrada e o processa. Por exemplo, o código grava alguns dos dados de eventos recebidos no CloudWatch Logs.

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

Cria um zip do código do exemplo para criar um pacote de implantação. Para obter instruções, consulte Trabalhar com arquivos .zip para funções do Lambda em Python.