AWS LambdaでRuby3.2ランタイムが利用可能になりました
こんにちは。CX事業本部Delivery部のakkyです。
AWS LambdaのRubyランタイムは、長らくRuby2.7のみのサポートでしたが、ついに公式ランタイムでRuby3.2が利用可能になったことがAWS SDK for JavaScript v3のv3.346.0の更新から確認できました。
(まだドキュメントの更新はありません)
追記
Ruby3.2ランタイムの提供が公式発表されました。なお、Ruby2.7のサポートは2023年12月7日までの予定とのことですので、ご利用中の方はアップデートをご検討ください。
3.346.0(2023-06-05) New Features (略) client-lambda: Add Ruby 3.2 (ruby3.2) Runtime support to AWS Lambda. (7df6c6b0)
その一方で、マネジメントコンソールから作成しようとしても、まだRuby2.7しか出てきません。
そこで一旦Ruby2.7で作成し、CLIからランタイムを変更してみました。
aws lambda update-function-configuration --function-name rubyhello --runtime ruby3.2
ap-northeast-1で試したところ、コマンドのエラーなく実行できました。(
以下のコードを実行すると、"3.2.2"と表示されました。最新安定版ですね。
def lambda_handler(event:, context:) return RUBY_VERSION end
リリースノートに記載されている新文法の例も、きちんと動作しました。
def lambda_handler(event:, context:) return proc{|a, **k| a}.call([1, 2]) end
おわりに
LambdaでRuby3.2がランタイム利用可能になったことを検証できました。
Ruby3.2への対応はAWSへの他のサービスでも急激に進んでいる印象がありますが、AWSのドキュメントの更新や公式ブログでの発表がされ、Lambdaでも正式に利用できるようになることを楽しみにしています。
(2023/6/7 AWS SDK for JavaScript v3の更新を追記)