AWS Lambda
開発者ガイド

Java による Lambda 関数のビルド

以下のセクションでは、Lambda 関数のコードを Java で記述する際に、「一般的なプログラミングパターンと主要概念」がどのように適用されるかについて説明します。

Java ランタイム

名前 識別子 JDK オペレーティングシステム

Java 8

java8

java-1.8.0-openjdk

Amazon Linux

AWS Lambda には、Java 関数用に以下のライブラリが用意されています。

  • aws-lambda-java-core – このライブラリでは、Context オブジェクトである RequestStreamHandlerRequestHandler インターフェイスが提供されています。Context オブジェクト (Java の AWS Lambda Context オブジェクト) は、Lambda 関数に関するランタイム情報を提供します。事前定義されているインターフェイスは、Lambda 関数ハンドラーを定義する 1 つの方法を提供します。詳細については、「ハンドラ作成用に事前定義されているインターフェイスの利用 (Java)」を参照してください。

  • aws-lambda-java-events – このライブラリでは、Amazon S3、Kinesis、Amazon SNS、および Amazon Cognito によって発行されるイベントを処理する Lambda 関数を記述する際に使用できる、事前定義されたタイプが提供されています。これらのクラスは、独自のカスタムシリアル化ロジックを書くことなく、イベントを処理するのに役立ちます。

  • Log4j2.8 のカスタム Appender – Lambda 関数からのログ記録用に AWS Lambda で提供されている Log4j (「Apache Log4j 2」を参照) のカスタム Appender を使用できます。log.info() や log.error() などの Log4j メソッドを呼び出すたびに、CloudWatch Logs イベントが発生します。カスタム Appender は LambdaAppender と呼ばれ、log4j2.xml ファイルで使用する必要があります。展開パッケージ (.jar ファイル) に aws-lambda-java-log4j2 アーティファクト (artifactId:aws-lambda-java-log4j2) を含める必要があります。詳細については、「Java の AWS Lambda 関数ログ作成」を参照してください。

これらのライブラリは Maven セントラルリポジトリを介して利用でき、GitHub にもあります。