メニュー
AWS Lambda
開発者ガイド

ステップ 2.3: (オプション) Java で Lambda 関数を作成する

設計図には、Python または Node.js. で作成されたサンプルコードが用意されています。コンソールでインラインエディターを使用して例に簡単に変更を加えることができます。ただし、Java で Lambda 関数のコードを作成する場合、設計図は用意されていません。また、AWS Lambda コンソールで Java コードを記述するためのインラインエディターはありません。

つまり、Java コードを記述し、コンソールの外でデプロイパッケージを作成する必要があります。デプロイパッケージの作成後、コンソールを使用して AWS Lambda にパッケージをアップロードしたら、Lambda 関数を作成できます。さらに、コンソールを使用して、関数を手動で呼び出すことでテストすることもできます。

このセクションでは、以下の Java コード例を使用して Lambda 関数を作成します。

Copy
package example; import com.amazonaws.services.lambda.runtime.Context; import com.amazonaws.services.lambda.runtime.LambdaLogger; public class Hello { public String myHandler(int myCount, Context context) { LambdaLogger logger = context.getLogger(); logger.log("received : " + myCount); return String.valueOf(myCount); } }

プログラミングモデルでは、AWS Lambda がサポートしている入出力の型など、Java コードを記述する方法の詳細について説明します。プログラミングモデルの詳細については、「Java で Lambda 関数を作成するためのプログラミングモデル」を参照してください。ここでは、このコードに関して以下の点に注意してください。

  • このコードをパッケージ化してアップロードし、Lambda 関数を作成する場合は、example.Hello::myHandler メソッド参照をハンドラーとして指定します。

  • この例のハンドラーでは、入力に int 型を、出力に String 型を使用しています。

    AWS Lambda では、JSON シリアライズ型と InputStream/OutputStream 型の入力/出力がサポートされています。この関数を呼び出すときは、サンプルの int (123 など) を渡します。

  • この演習では、コンソールを使用してこの Lambda 関数を呼び出します。コンソールでは常に RequestResponse 呼び出しタイプ (同期) が使用されるため、コンソールに応答が表示されます。

  • ハンドラーにはオプションの Context パラメータが含まれます。コードでは、CloudWatch ログにログエントリを書き込むために Context オブジェクトによって提供される LambdaLogger を使用します。Context オブジェクトの使用の詳細については、「Context オブジェクト (Java)」を参照してください。

最初に、デプロイパッケージにこのコードや依存関係をパッケージ化する必要があります。その後、「開始方法」の演習の手順に従って、コンソールを使用してパッケージをアップロードしたら、Lambda 関数を作成してテストできます。

次のステップ

ステップ 2.4: (オプション) C# で Lambda 関数を作成する