1

Micronaut、GraalVM、および Docker を使用して Java で AWS Lambda 関数を作成およびデプロイしようとしています。このチュートリアルに従って、GraalVM ランタイムで AWS ラムダを作成しています。

micronautcommandを使用して Java プロジェクトを作成しました$ mn create-app my-app --features aws-api-gateway-graal。次に、コードや構成ファイルを変更せずに、GraalVM ネイティブ イメージを使用して Docker イメージをビルドしてみます。graalvm ネイティブ イメージがビルドされているときの docker build のステップで、次の警告が表示されます。

警告: スタンドアロン イメージのビルドを中止しています。イメージ ランタイム com.amazonaws.serverless.proxy.model.ContainerConfig で初期化または再初期化されるクラスのイメージ ヒープでは、インスタンスは許可されません。--initialize-at-build-time=com.amazonaws.serverless.proxy.model.ContainerConfig を使用して、ビルド時の初期化用にこのクラスをマークしてみてください。

Detailed message:
Trace:     field io.micronaut.function.aws.proxy.AbstractLambdaContainerHandler.config

警告: -H:+ReportExceptionStackTraces を使用して、基になる例外のスタック トレースを出力します*

警告: イメージ 'server' は、実行に JDK を必要とするフォールバック イメージです (フォールバック イメージの生成を抑制するには --no-fallback を使用してください)。

ビルド後、チュートリアルに書かれているように、bootstrap ファイルを含む docker イメージを function.zip ファイルにエクスポートします。次に、作成した AWS ラムダ関数に function.zip ファイルをアップロードし、関数をテストしようとすると、次のエラーが発生します。

{  "errorType": "Runtime.ExitError",
   "errorMessage": "RequestId: 888854d7-0e0e-42b4-a138-9a003c3455e1 Error: Runtime exited with error:
    exit status 1"
}

開始 RequestId: 888854d7-0e0e-42b4-a138-9a003c3455e1 バージョン: $LATEST
エラー: bin/java も環境変数 JAVA_HOME もありません
END RequestId: 888854d7-0e0e
-42b4-a138-9a003c3455e1 9a003c3455e1 期間: 415.09 ミリ秒 請求期間: 500 ミリ秒 メモリ サイズ: 128 MB 最大使用メモリ:
16
MB

何が悪いのかわかりません。この問題の解決策はまだ見つかりません。

4

1 に答える 1