

# AWS Lambda の Java サンプルアプリケーション
<a name="java-samples"></a>

このガイドの GitHub リポジトリには、AWS Lambda での Java の使用方法を示すサンプルアプリケーションが用意されています。各サンプルアプリケーションには、簡易のデプロイとクリーンアップ用のスクリプト、CloudFormation テンプレート、サポートリソースが含まれています。

**Java のサンプル Lambda アプリケーション**
+ [example-java](https://github.com/awsdocs/aws-lambda-developer-guide/tree/main/sample-apps/example-java) – Lambda を使用して注文処理を行う Java 関数。この関数は、カスタム入力イベントオブジェクトの定義と逆シリアル化、 AWS SDK の使用方法、および出力ログ記録の方法を示しています。
+ [java-basic](https://github.com/awsdocs/aws-lambda-developer-guide/tree/main/sample-apps/java-basic) - 単位テストと変数ログ記録設定を使用する、最小限の Java 関数のコレクション。
+ [java-events](https://github.com/awsdocs/aws-lambda-developer-guide/tree/main/sample-apps/java-events) - Amazon API Gateway、Amazon SQS、Amazon Kinesis などのさまざまなサービスからのイベントを処理する方法のスケルトンコードを含む Java 関数のコレクション。これらの関数は、最新バージョンの [aws-lambda-java-events](java-package.md) ライブラリ (3.0.0 以降) を使用します。これらの例では、依存関係としての AWS SDK が不要です。
+ [s3-java](https://github.com/awsdocs/aws-lambda-developer-guide/tree/main/sample-apps/s3-java) － Amazon S3 からの通知イベントを処理し、Java Class Library (JCL) を使用して、アップロードされたイメージファイルからサムネイルを作成する Java 関数。
+ [layer-java](https://github.com/awsdocs/aws-lambda-developer-guide/tree/main/sample-apps/layer-java) – Lambda レイヤーを使用して、コアとなる関数コードから分離して依存関係をパッケージ化する方法を示す Java 関数。

**Lambda で一般的な Java フレームワークを実行する**
+ [spring-cloud-function-samples](https://github.com/spring-cloud/spring-cloud-function/tree/3.2.x/spring-cloud-function-samples/function-sample-aws) — [Spring クラウド関数](https://spring.io/projects/spring-cloud-function)フレームワークを使用して AWS Lambda 関数を作成する方法を示す Spring の例。
+ [サーバーレス Spring Boot アプリケーションのデモ](https://github.com/aws-samples/serverless-java-frameworks-samples/tree/main/springboot) — 一般的なSpring Bootアプリケーションを、SnapStart を使用または使用しないマネージド Java ランタイムでセットアップする方法、またはカスタムランタイムを使用した GraalVM ネイティブイメージとしてセットアップする方法を示す例。
+ [サーバーレス Micronaut アプリケーションのデモ](https://github.com/aws-samples/serverless-java-frameworks-samples/tree/main/micronaut) — SnapStart を使用または使用しないマネージド Java ランタイムで Micronaut を使用する方法、またはカスタムランタイムを使用した GraalVM ネイティブイメージとして Micronaut を使用する方法を示す例。詳細については、「[Micronaut/Lambda guides](https://guides.micronaut.io/latest/tag-lambda.html)」を参照してください。
+ [サーバーレス Quarkus アプリケーションのデモ](https://github.com/aws-samples/serverless-java-frameworks-samples/tree/main/quarkus) — SnapStart を使用または使用しないマネージド Java ランタイムで Quarkus を使用する方法、またはカスタムランタイムを使用した GraalVM ネイティブイメージとして Quarkus を使用する方法を示す例。詳細については、「[Quarkus/Lambda guide](https://quarkus.io/guides/aws-lambda)」および「[Quarkus/SnapStart guide](https://quarkus.io/guides/aws-lambda-snapstart)」を参照してください。

Java での Lambda 関数を初めて使用する場合は、まず `java-basic` の例で始めます。Lambda イベントソースの使用を開始するには、`java-events` の例を参照してください。これらの両方の例では、Lambda の Java ライブラリ、環境変数、AWS SDK、AWS X-Ray SDK の使用を示しています。これらの例では、必要なセットアップは最小限となっており、コマンドラインから 1 分未満でデプロイできます。