2017-11-02 8 views
0

event呼び出し型を使用するAWSラムダを記述したいとします。 java-programming-model-handler-typesによると、私は次の操作を行う必要があります。イベント起動型AWSラムダjava

あなたは( イベントの呼び出しタイプを使用して)非同期でラムダ関数を呼び出すために計画している場合、OUTPUTTYPEは無効にする必要があります。たとえば、 Amazon S3、Kinesis、 Amazon SNSなどのイベントソースでAWS Lambdaを使用する場合、これらのイベントソースは イベント起動タイプを使用してLambda関数を呼び出します。

このようなハンドラ(Java)メソッドの記述方法の例を探しています。

RequestResponse呼び出しタイプ(たとえば、public String myHandler(int myCount, Context context))で動作するJavaハンドラの例はたくさんあります。また、for using streamsの例もあります(IIUCは、RequestResponse呼び出しタイプの場合もあります)。トリックはあなたのイベントタイプがどうなるか、クラスを知っている

public class MyFunction implements RequestHandler<eventType, Void> { 

    public Void handleRequest(eventType event, Context context) { 

     ... 
     return null; 
    } 

} 

:私は、ハンドラEvent呼び出しタイプ

答えて

2

を処理していることは次のようになりますJavaのラムダのための任意の例を見つけることができませんでした。 eventTypeをObjectに設定し、関数を一度起動させ、関数内でクラス名を出力させて、イベントの種類を調べることができます。

+0

ありがとう、APIゲートウェイイベントを使用したいので、IIUCはAPIGatewayProxyRequestEventオブジェクトになります(https://github.com/aws/lambda-java-libs/tree/master/aws-lambda-javaを参照)。 -events)。 APIGatewayProxyResponseEvent型の(非同期の)応答を返すためのAPIが何であるか知っていますか? –

+2

API GatewayがLambda関数を呼び出している場合、Event型の代わりに 'Map 'を受け取ると思います。関数は 'void'になりません。あなたが "非同期応答"の意味を理解していない。途中でNodeJSやPythonではこれが100万回も簡単にでき、これらの言語もJavaよりもLambdaで優れたパフォーマンスを発揮します。 –

+0

@マークB "*また、これらの言語はラムダでJavaより優れています。 – cy3er

関連する問題