Ich möchte ein AWS-Lambda schreiben, das den Aufruf-Typ event
verwendet. Nach java-programming-model-handler-types sollte ich folgendes tun:AWS Lambda Java mit Ereignisaufruf-Typ
Wenn Sie die Lambda-Funktion asynchron aufzurufen planen (die Ereignisinvokation Typ verwendet wird), sollte die output nichtig. Wenn Sie beispielsweise AWS Lambda mit Ereignisquellen wie Amazon S3, Kinesis und Amazon SNS verwenden, rufen diese Ereignisquellen die Lambda-Funktion mit dem Ereignisaufrufstyp auf.
Ich bin auf der Suche nach einem Beispiel zum Schreiben einer solchen Handler (Java) -Methode.
Es gibt viele Beispiele für einen Java-Handler, der mit dem Aufruftyp RequestResponse
funktioniert (z. B. public String myHandler(int myCount, Context context)
). Es gibt auch Beispiele for using streams (die, IIUC, sind auch nur für RequestResponse
Aufruf-Typ). Ich konnte kein Beispiel für ein Java-Lambda, deren Handler ist der Umgang mit einem Event
Aufruftyp finde
Danke, ich möchte API Gateway-Ereignisse verwenden, so IIUC wird es ein APIGatewayProxyRequestEvent-Objekt sein (siehe https://github.com/aws/aws-lambda-java-libs/tree/master/aws-lambda-java -Veranstaltungen). Wissen Sie, wie die API zum Zurücksenden einer (asynchronen) Antwort vom Typ APIGatewayProxyResponseEvent ist? –
Wenn API Gateway die Lambda-Funktion aufruft, dann denke ich, dass Sie anstelle eines Ereignistyps 'Map' erhalten und Ihre Funktion nicht 'void' ist. Nicht sicher, was du mit "async response" meinst. All dies ist in NodeJS oder Python übrigens millionenfach einfacher, und diese Sprachen sind auch bei Lambda besser als Java. –
@MarkB "* und diese Sprachen arbeiten auch besser auf Lambda als Java. *" Was lässt dich das denken? – cy3er