我具有由Dynamo Stream(在DynamoDB中显示的更改)触发的AWS Lambda函数。 效果很好。 不知何故,我开始在Lambda日志中收到错误,而没有在堆栈跟踪中指定lambda代码行:
java.lang.NullPointerException: java.lang.NullPointerException
java.lang.NullPointerException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)`
正如我所说,Lambda由Dynamo Stream事件触发,并且在其中执行简单的HTTP发布请求调用。 会是什么?
答案 0 :(得分:1)
由于没有可用的代码,因此仅猜测您可能在DynamoDb上设置了某种 ttl (生存时间)。一旦DynamoDb中的项目超过了它们的ttl,它们将从表中删除,并且删除事件在dynamo流中发送,事件名称为“ REMOVE”。 “ REMOVE”事件的有效负载与“ INSERT”或“ UPDATE”事件的有效负载非常不同,也许流中的那种有效负载给出了空指针异常。再次指定,这只是一个猜测,因为我没有有关您所面临的代码类型和问题的任何信息。