LoginSignup
0
0

NAP: キャンプ設計

Last updated at Posted at 2024-04-19

image.png

Lambda (7d)

■ やること洗い出す

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)

image.png

  • 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>
  1. 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 コマンド)
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0