AWSでは、Java 8
(OpenJDK 8)を使用してLambda関数を作成できますランタイム。Open JDK 11
を使用して簡単な関数を作成する必要があります。そのようなもの:
package example;
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.LambdaLogger;
public class Hello {
public String myHandler(int myCount, Context context) {
LambdaLogger logger = context.getLogger();
logger.log("received : " + myCount);
return String.valueOf(myCount);
}
}
カスタムランタイムの使用を許可するオプションと、シェルの例を含む tutorial があります。ただし、Java
の例はありません。
誰かがすでにカスタムJavaランタイムでAWSラムダを扱っていますか?
また、Javaのカスタムランタイムがまだ表示されていない理由についても知りました。そのため、約1か月前に、Java 11小さなランタイムを生成するためのジグソーの使用これは厳密にはチュートリアルではありませんが、これを構築する方法についてかなり詳細なReadmeを作成しました。
ここにGitHub上の私のプロジェクトがあります:
https://github.com/andthearchitect/aws-lambda-Java-runtime
私は最近これを公開しましたが、POCであることは間違いないので、自己責任で使用してください。
Correttoは興味深いようですが、公式のOpenJDKリリースに慣れている人はまだいると思います。これがJava向けの本番環境対応のオープンソースランタイムの出発点になることを願っています。
AWS LambdaでJava 11 がサポートされるようになったため、カスタムランタイムを使用する必要がなくなりました。
ただし、このランタイムを使用するLambda関数は、OpenJDK 11ではなく Amazon Corretto 11 で実行されます。
Lambda関数をCorretto 11ではなくOpenJDK 11で実行する場合は、カスタムランタイムを使用することをお勧めします。
まだそれができるとは思えません。 AWSによると:
「Open JDK 11に対応するCorretto 11ビルドに取り組んでおり、2019年4月より前にテストのためにリリースされます。」
https://forums.aws.Amazon.com/thread.jspa?messageID=875742&tstart=https://aws.Amazon.com/blogs/opensource/Amazon-corretto- no-cost-distribution-openjdk-long-term-support /