この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
こんにちは。サービスグループの武田です。
AWS LambdaがランタイムとしてRuby 2.7をサポートしました!
AWS Lambda now supports Ruby 2.7
さっそく試してみました。
Ruby 2.7のこと
Ruby 2.7は昨年(2019年)の12月25日にリリースされました。表面的な変更としてはパターンマッチの導入とキーワード引数の変更でしょうか。REPLがめっちゃ強くなったので、興味がある方は試してみてください。
Lambdaで動かしてみた
それではマネジメントコンソールでLambdaのページを開き、新しい関数を作成します。作成時のウィザードでランタイムを選択しますが、プルダウンにRuby 2.7
が見つかりますね。
実行するプログラムですが、せっかくなのでパターンマッチングを試してみましょう。次のコードを貼り付けます。
lambda_function.rb
require 'json'
def lambda_handler(event:, context:)
json = <<END
{
"name": "Alice",
"age": 30,
"children": [{ "name": "Bob", "age": 2 }]
}
END
case JSON.parse(json, symbolize_names: true)
in {name: "Alice", children: [{name: "Bob", age: age}]}
return { statusCode: 200, body: JSON.generate(age) }
end
{ statusCode: 200, body: JSON.generate('Hello from Lambda!') }
end
準備ができたら適当なテストイベントを設定してテストを実行してみます。
ちゃんと実行されました!
まとめ
Lambdaがサポートしているひとつ前のバージョンはRuby 2.5です。2.5のEOL(End of Life)はまだ未定ですが、早ければ2021年3月になると思われます。直前になって慌てるようなことのないようにしたいですね。