📝
Lambda でランタイムのマイナーバージョンを確認する方法 (Node.js, Python, Java, Ruby)
Lambda ランタイムバージョンとランタイム識別子の違いについて | AWS re:Post
上記ナレッジセンターには Node.js と Python に関する例は記載されていましたが、Java と Ruby についても調べてみました。
結論
- Node.js:
process.version
で確認可能 - Python:
sys.version
で確認可能 - Java:
System.getProperty("java.version")
で確認可能 - Ruby:
RUBY_VERSION
で確認可能
Node.js
Process | Node.js v23.5.0 Documentation
The process.version property contains the Node.js version string.
index.js
export const handler = async (event) => {
console.log(process.version)
};
出力結果
v22.11.0
Python
sys --- システム固有のパラメーターと関数 — Python 3.13.1 ドキュメント
sys.version
Python インタプリタのバージョン番号の他、ビルド番号や使用コンパイラなどの情報を示す文字列です。
lambda_function.py
import sys
def lambda_handler(event, context):
print(sys.version)
出力結果
3.13.0 (main, Oct 11 2024, 11:01:08) [GCC 11.4.1 20230605 (Red Hat 11.4.1-2)]
Java
System (Java 2 プラットフォーム SE v1.4.0)
java.version Java Runtime Environment のバージョン
HelloWorld.java
package com.example;
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;
import java.util.HashMap;
import java.util.Map;
public class HelloWorld implements RequestHandler<Map<String, Object>, Map<String, Object>> {
@Override
public Map<String, Object> handleRequest(Map<String, Object> input, Context context) {
Map<String, Object> output = new HashMap<>();
output.put("Java version", System.getProperty("java.version"));
return output;
}
}
出力結果
{
"Java version": "21.0.5"
}
Ruby
Object::RUBY_VERSION (Ruby 3.4 リファレンスマニュアル)
RUBY_VERSION -> String[permalink][rdoc][edit]
Ruby のバージョンを表す文字列。
lambda_function.rb
def lambda_handler(event:, context:)
puts RUBY_VERSION
end
出力結果
3.3.5
まとめ
Lambda でランタイムのマイナーバージョンを確認する方法について調べてみました。
どなたかの参考になれば幸いです。
Discussion