Lambda (7d)
■ やること洗い出す
-
Javaの環境構築
- JDKをインストール
- Javaがインストールできていれば以下のコマンドを実行したときにバージョンが表示される
- Javaのエディタ:
- eclipse
- IntelliJ IDEA Community版
https://www.jetbrains.com/ja-jp/idea/download/?section=mac
java --version
openjdk 11.0.11 2021-04-20
OpenJDK Runtime Environment AdoptOpenJDK-11.0.11+9 (build 11.0.11+9)
OpenJDK 64-Bit Server VM AdoptOpenJDK-11.0.11+9 (build 11.0.11+9, mixed mode)
- Hello World実行できる(動作確認)
- Lambda上で動く、Javaコードを実装する
AWSのJavaのサンプルコード説明
https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/java-samples.html
4. Mavenのインストール
Apache Mavenをダウンロードしてインストールし、環境変数を設定します。
プロジェクトのセットアップ
1. Mavenプロジェクトの作成
IntelliJ IDEAを開いて、新しいプロジェクトを作成します。
「Create New Project」を選択し、「Maven」を選んで「Next」をクリック。
「GroupId」と「ArtifactId」を入力してプロジェクトを設定。
「Finish」をクリックしてプロジェクトを作成。
2. 必要な依存関係の追加
pom.xmlに以下の依存関係を追加します。
Copy code
<dependencies>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-lambda-java-core</artifactId>
<version>1.2.1</version>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-lambda-java-events</artifactId>
<version>3.10.0</version>
</dependency>
</dependencies>
- Lambda関数の作成
src/main/javaに新しいJavaクラスを作成し、Lambda関数として実装します。例えば、簡単なHello World関数は以下のようになります。
Copy code
package example;
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;
public class Handler implements RequestHandler<Object, String> {
public String handleRequest(Object input, Context context) {
return "Hello from Lambda!";
}
}
- AWS CLIでLambdaを作成する
Mavenをbrewでインストールする
brew install maven
mvn -v
- jarファイルを作成して、AWSのSAMを利用してAWS上にデプロイする
ビルド方法
mvn clean install
デプロイ方法
aws lambda create-function --function-name MyJavaFunction \
--zip-file fileb://target/SampleJava-1.0-SNAPSHOT.jar --handler example.Handler \
--runtime java11 --role arn:aws:iam::xxxx:role/xxx --profile xxxx
- 動作確認: JavaのコードがLambdaで動作することを確認する
- API Gatewayを作成する
- API Gateway経由でLambdaを呼び出して「Hello World」が返ってくることを確認する (curl コマンド)