AWS LambdaをJavaで使ってみる
2015/12/13
AWS LambdaがJava8に対応ということでjarファイルを作成して使ってみます。Java8と書きましたが特にJava8要素はありません。
まずはJarファイルの作成。プロダクトの作成はeclipseのaws pluginを使うととっても簡単です。
- Eclipse を起動します。
- [Help] をクリックし、[Install New Software] をクリックします。
- [Work with] ボックスに、「
http://aws.amazon.com/eclipse
」と入力し、Enter キーを押します。 - 表示されたリストで、[AWS Toolkit for Eclipse] を展開します。
- [AWS Toolkit for Eclipse] の横にあるチェックボックスをオンにします。
(AWS Toolkit for Eclipse をインストールする)より抜粋
本プラグイン導入後、eclipseにAWSアイコンが表示されるようになります。AWSアイコンメニューから「New AWS Lambda Java Project…」を選択できるのでこれを使ってプロジェクトを作成しましょう。Input TypeはCustomeとしてみました。
こちらを使えば必要最低限の準備をしてくれます。
出力されたクラスファイルをちょっと書き換えました。戻り値をStringに変えて、入直値を返すようにしています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
package net.gcnew; import com.amazonaws.services.lambda.runtime.Context; import com.amazonaws.services.lambda.runtime.RequestHandler; public class LambdaFunctionHandler implements RequestHandler<Object, Object> { @Override public String handleRequest(Object input, Context context) { context.getLogger().log("Input: " + input); // TODO: implement your handler return "hogehogefuagfuga : " + input; } } |
jarファイルはプロジェクトフォルダ右クリック「Export…」→「JAR file」。
以下にチェックを入れる
- Export all output folders for checked projects
JAR file出力先を指定して「Finish」を押下で出力される。
次にAWS lambda側の設定。先ほど作成したJARファイルをアップロード対象にしてHandlerに作成したクラスを追加しましょう。
入力値
サンプルにあった入力内容です。
1 2 3 4 5 |
{ "key1": "value1", "key2": "value2", "key3": "value3" } |
出力値
このような結果が返ってきました。lambda functionを通って結果が返ってきたことがわかります。
1 |
"hogehogefuagfuga : {key1=value1, key2=value2, key3=value3}" |
次はlambdafの実用的な呼び出しとRDSへの接続までやりたいところ。