AWS LambdaでとうとうRuby2.5がサポートされました!!

早速aws-sam-cliでローカル環境でも使えるを確認したところ出来ました!!
その手順をメモっておきます。

前提環境

* macOS Sieera
* aws-sam-cli 0.8.0
* Ruby2.5.0
* Docker version 18.09.0, build 4d60db4

1.aws-sam-cliのバージョン確認

$ sam --version
SAM CLI, version 0.8.0

バージョンが上記じゃなかった場合でpipでupgradeする場合

awscliにも依存しているようなので先にawscliもupgradeしておく。

$ pip install --upgrade awscli --user
$ pip install --upgrade aws-sam-cli

2.sam initしてプロジェクトを作成する。

$ sam init --runtime ruby2.5

ちなみに以下のランタイムを選択できます。
* python3.7,python3.6,python2.7,python(何選ばれるんだろ?)
* ruby2.5
* nodejs6.10,nodejs8.10,nodejs4.3,nodejs(何選ばれるんだろ?)
* dotnetcore2.0,dotnetcore2.1,dotnetcore1.0,dotnetcore(何選ばれるんだろ?),dotnet(何選ばれるんだろ?)
* go1.x,go
* java8,java

3.ローカルで動かしてみる。

デフォルトのままですが動くか確認してみます。bundlerなどはREADME.md通りにやっております。

$ cd sam-app
$ gem install bundler
$ bundle install --deployment --path hello_world/vendor/bundle
$ sam local start-api ← APIGatewayとしてDockerが動きはじめます。
$ curl http://127.0.0.1:3000/hello
{"message":"Hello World!","location":"XXX.XXX.XXX.XXX\n"

かなり端折っていますが、Rubyで動きました!
Ruby使いだったためにサーバレスに行かなかった方もいらっしゃると思います。
これで利用する動機ができましたね!