2017-10-23 10 views
-1

私はmyjar.jarと呼ばれる瓶にこれを同梱し、私のAWSコンソールAWSラムダ関数とJava関数を実行

経由ラムダ関数を作成している

import com.amazonaws.services.lambda.runtime.RequestHandler; 
import com.amazonaws.services.lambda.runtime.Context; 

    public class SayHello implements RequestHandler<Request, Response> { 

    public Response handleRequest(Request request, Context context) 
    { 
     System.out.println("Running lambda function 123abc"); 
     return new Response("Lambda says hello"); 
    } 
} 

を次のJavaクラスを作成しましたenter image description here

私はJava 8ランタイムを選択しました。私のjarファイルをアップロードしました。 EC2インスタンスを起動してCloudwatch enter image description hereイベントを作成し、このイベントのターゲットをLambda関数として追加しました。だから次は?具体的には、「この関数には外部ライブラリが含まれています。新しいファイルをアップロードすると、これらのライブラリが上書きされます。私を困惑させる。 クラウドウォッチイベントが発生したときにラムダ関数を実行させたいだけです。
また、最終的にこれを実行するときに、System.out.printlnコマンドの出力はどこで確認できますか?

+1

実際の質問/問題は何ですか?このメッセージは、extライブラリが毎回上書きされるという明確な警告です。今は無視して先に進むだけです。 [Lambda docs](http://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions.html)を見て、私は助けるかもしれません。 –

答えて

0

ラムダにあなたのハンドラ関数の名前を伝える必要があります。例えば、com.mycompany.HelloWorld::handleRequest

  • としてpackage.class:例えば

    1. としてpackage.class ::方法、:Javaでは、次のいずれかの方法でこれを示すだろうcom.mycompany.HelloWorld

    Lambdaが#2のハンドラメソッドの名前をどのように推測するかははっきりしません(たとえば、ハンドラメソッドが2つある場合など)。単純にhandleRequestを探しているかもしれませんし、何らかの形で反射を使用しているかもしれません。

    ラムダ関数が出力するものはすべてCloudWatchログに送信されます。ラムダ機能の[監視]タブからアクセスできます(または、CloudWatchログコンソールを開き、そこからナビゲートすることもできます)。