aws sqs java_示例 Amazon SQS 函数代码 - AWS Lambda

AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

示例 Amazon SQS 函数代码

示例代码具有以下语言。

Node.js

以下是将 Amazon SQS 事件消息作为输入接收并对其进行处理的示例代码。为了展示这个过程,代码会将一些传入的事件数据写入 CloudWatch Logs。

例 index.js (Node.js 8)

exports.handler = async function(event, context) {

event.Records.forEach(record => {

const { body } = record;

console.log(body);

});

return {};

}

例 index.js (Node.js 6)

event.Records.forEach(function(record) {

var body = record.body;

console.log(body);

});

callback(null, "message");

};

Java

以下是将 Amazon SQS 事件消息作为输入接收并对其进行处理的示例 Java 代码。为了展示这个过程,代码会将一些传入的事件数据写入 CloudWatch Logs。

在代码中,handleRequest 是处理程序。该处理程序使用了在 aws-lambda-java-events 库中定义的预定义 SQSEvent 类。

例 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{

@Override

public Void handleRequest(SQSEvent event, Context context)

{

for(SQSMessage msg : event.getRecords()){

System.out.println(new String(msg.getBody()));

}

return null;

}

}

附属物

aws-lambda-java-core

aws-lambda-java-events

使用 Lambda 库依赖项构建代码以创建部署程序包。有关说明,请参阅使用 .zip 或 JAR 文件存档部署 Java Lambda 函数。

C#

以下是将 Amazon SQS 事件消息作为输入接收并对其进行处理的示例 C# 代码。为了展示这个过程,代码会将一些传入的事件数据写入控制台。

在代码中,handleRequest 是处理程序。该处理程序使用了在 AWS.Lambda.SQSEvents 库中定义的预定义 SQSEvent 类。

例 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.";

}

}

}

使用以上示例替换.NET Core 中的 Program.cs有关说明,请参阅使用 .zip 文件存档部署 C# Lambda 函数。

转到

以下是将 Amazon SQS 事件消息作为输入接收并对其进行处理的示例 Go 代码。为了展示这个过程,代码会将一些传入的事件数据写入 CloudWatch Logs。

在代码中,handler 是处理程序。该处理程序使用了在 aws-lambda-go-events 库中定义的预定义 SQSEvent 类。

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

}

使用 go build 构建可执行文件并创建部署程序包。有关说明,请参阅使用 .zip 文件存档部署 Go Lambda 函数。

Python

以下是将 Amazon SQS 记录作为输入接受并对其进行处理的示例 Python 代码。为了展示这个过程,代码会将一些传入的事件数据写入 CloudWatch Logs。

按照说明创建 AWS Lambda 函数部署程序包。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值