サンプル関数コード - AWS Lambda

サンプル関数コード

サンプルコードは以下の言語で利用可能です。

Node.js 12.x

次の例では、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"); };

サンプルコードを zip ファイルに圧縮し、デプロイパッケージを作成します。手順については、「.zip ファイルアーカイブで Node.js Lambda 関数をデプロイする」を参照してください。

Java 11

次の例では、Amazon SNS のメッセージを処理し、その内容をログに記録します。

例 LogEvent.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<SNSEvent, Object> { 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; } }
Dependencies
  • 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

サンプルコードを zip ファイルに圧縮し、デプロイパッケージを作成します。手順については、.zip ファイルアーカイブで Python Lambda 関数をデプロイする を参照してください。