AWS DynamoDB-Trigger mit Lambda in JAVA
Ich versuche, eine in Java geschriebene AWS-Lambda-Funktion für Dynamodb-Stream-Ereignisse auszulösen. Amazon hat einen Leitfaden für das gleiche, mit NodeJS hierhttp: //docs.aws.amazon.com/lambda/latest/dg/wt-ddb-create-test-function.htm
Die Testeingabe für NodeJS (über den obigen Link) sieht aus wie ein SNS-Ereignis. Daher habe ich versucht, die entsprechende SNSEvent-Klasse in Java als Eingabe für meine Handlermethode zu verwenden.
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.LambdaLogger;
import com.amazonaws.services.lambda.runtime.events.SNSEvent;
import com.amazonaws.services.lambda.runtime.events.SNSEvent.SNSRecord;
import java.util.List;
public class RecomFunction {
public void handler(SNSEvent event, Context context) {
LambdaLogger logger = context.getLogger();
List<SNSRecord> records = event.getRecords();
if (records != null) {
for (SNSRecord record : records) {
if (record != null) {
logger.log("SNS record: " + record.getSNS().getMessage());
}
}
}
}
}
eider gibt record.getSNS () NULL zurück, was zu einer NullPointer-Ausnahme @ führ
Es gibt eine verwandte Frage, es wurde jedoch keine spezifische Antwort gegeben:Setup DynamoDB Trigger using Lambda