本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
示例函数代码
示例代码具有以下语言。
Node.js 8
以下示例处理来自 Amazon SNS 的消息并记录其内容。
例 index.js
console.log('Loading function');
exports.handler = function(event, context, callback) {
// console.log('Received event:', JSON.stringify(event, null, 4));
var message = event.Records[0].Sns.Message;
console.log('Message received from SNS:', message);
callback(null, "Success");
};
Java 11
以下示例处理来自 Amazon SNS 的消息并记录其内容。
例 LambdaWithSNS.java
package example;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import com.amazonaws.services.lambda.runtime.RequestHandler;
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.events.SNSEvent;
public class LogEvent implements RequestHandler {
public Object handleRequest(SNSEvent request, Context context){
String timeStamp = new SimpleDateFormat("yyyy-MM-dd_HH:mm:ss").format(Calendar.getInstance().getTime());
context.getLogger().log("Invocation started: " + timeStamp);
context.getLogger().log(request.getRecords().get(0).getSNS().getMessage());
timeStamp = new SimpleDateFormat("yyyy-MM-dd_HH:mm:ss").format(Calendar.getInstance().getTime());
context.getLogger().log("Invocation completed: " + timeStamp);
return null;
}
}
附属物
aws-lambda-java-core
aws-lambda-java-events
使用 Lambda 库依赖项构建代码以创建部署程序包。有关说明,请参阅使用 .zip 或 JAR 文件存档部署 Java Lambda 函数。
Go
以下示例处理来自 Amazon SNS 的消息并记录其内容。
例 lambda_handler.go
package main
import (
"context"
"fmt"
"github.com/aws/aws-lambda-go/lambda"
"github.com/aws/aws-lambda-go/events"
)
func handler(ctx context.Context, snsEvent events.SNSEvent) {
for _, record := range snsEvent.Records {
snsRecord := record.SNS
fmt.Printf("[%s %s] Message = %s \n", record.EventSource, snsRecord.Timestamp, snsRecord.Message)
}
}
func main() {
lambda.Start(handler)
}
使用 go build 构建可执行文件并创建部署程序包。有关说明,请参阅使用 .zip 文件存档部署 Go Lambda 函数。
Python 3
以下示例处理来自 Amazon SNS 的消息并记录其内容。
例 lambda_handler.py
from __future__ import print_function
import json
print('Loading function')
def lambda_handler(event, context):
#print("Received event: " + json.dumps(event, indent=2))
message = event['Records'][0]['Sns']['Message']
print("From SNS: " + message)
return message