Java 没有有用堆栈跟踪的Lambda NullPointerException

Java 没有有用堆栈跟踪的Lambda NullPointerException,java,aws-lambda,amazon-dynamodb,Java,Aws Lambda,Amazon Dynamodb,我有一个AWS Lambda函数,它是由Dynamo Stream(在DynamoDB中出现的更改)触发的。 它工作得很好。 不知怎的,我开始在Lambda日志中接收到错误,堆栈跟踪中没有指定Lambda代码行: java.lang.NullPointerException: java.lang.NullPointerException java.lang.NullPointerException at sun.reflect.NativeMethodAccessorImpl.invoke0(N

我有一个AWS Lambda函数,它是由Dynamo Stream(在DynamoDB中出现的更改)触发的。 它工作得很好。 不知怎的,我开始在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流事件触发的,在它内部执行一个简单的httppost请求调用。
可能是什么?

因为没有可用的代码,所以只能猜测您的DynamoDb上可能设置了某种类型的ttl(生存时间)。一旦DynamoDb中的项超过了它们的ttl,它们就会从表中删除,删除事件也会在dynamo流中发送,事件名称为“REMOVE”。“REMOVE”事件的有效负载与“INSERT”或“UPDATE”事件的有效负载非常不同,可能流中的这种有效负载给出了null指针异常。再次指定,这只是一个猜测,因为我没有关于代码类型和您面临的问题的任何信息。

是否可以显示代码的可能副本?@sunchez如果Lambda代码中有NPE,它将在Lambda处理程序类中显示行号。比如这里:@sunchez很遗憾,我无法显示代码。然后,通过猜测,如果您正在发出请求,并且无法到达目标,则响应可能为空。如果响应或任何其他依赖于成功连接的对象上没有空检查,它将中断。或者你期待的反应,改变了。