LoginSignup
33
32

More than 5 years have passed since last update.

AWS Lambda JavaでJRuby

Posted at

コード

コード一式は https://github.com/c9katayama/aws-lambda-jruby にあります。

使い方

githubからclone後、src/main/resources/main.rb にrubyコードを書きます。同ディレクトリ内のファイルは全てLambdaにデプロイされるため、必要なファイルはこのディレクトリに置きます。
stdlibは、JRubyに付属の標準ライブラリが入っています。このディレクトリはaddLibPathでパスが通っているので、ここに入っているrbファイルは

require 'yaml'

とするとmain.rbから使用することができます。

開発

rubyファイル作成時にローカルでテストしたい場合は、 src/test/java/AWSLambdaJRubyTestMain を実行します。
AWSLambdaJRubyは、Lambdaで受け取ったパラメータをJSONにし、Rubyのグローバル変数$lambda_argにセットを行います。rubyファイル内でLambdaのパラメータを取りたい場合は、$lambda_argから取り出します。
(サンプルのmain.rbはLambdaのパラメータをyaml化するコードになっています)

ビルド/デプロイ

./gradlew build 

でビルドを行います。build/distributionsフォルダにaws-lambda-jruby.zipが出来ていると思うので、AWS上でLambdaファンクションを作成後、zipをAWS Lambdaへアップロードします。
この際、Handlerの設定がありますが、AWSLambdaMain::handler を設定します。

33
32
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
33
32