我正在尝试发送一个JSON列表,以便在Lambda函数中进行处理。
我在handleRequest
上尝试了几次覆盖,但我一直未能成功地让Lambda看到它。
我试过...
public String handleRequest(List<String> events, Context context)
并尝试在Lambda函数的Test选项卡中发送字符串格式的JSON(将被嵌套),如下所示...
[
jsonString1,
jsonString2
]
但是甚至在执行任何Lambda代码之前就发生了json异常失败。不确定是否发生了某种反序列化导致了该问题。
最终,我希望按照文档中特别提到的那样做...
https://docs.aws.amazon.com/lambda/latest/dg/java-handler.htmlList<Integer>
、List<String>
、List<Object>
等等。
事件是一个JSON数组。运行库将其反序列化为指定类型或接口的对象。
2条答案
按热度按时间hgncfbus1#
event
必须是有效的JSON。如果希望发送多条JSON记录,可以在外部JSON中提供一个列表:
hfyxw5xn2#
我在使用AWS Lambda/spring云函数时遇到了类似的问题-由于反序列化问题,我们无法将JSON数据发送到Lambda,因此请尝试将数据作为散列表或Pojo类发送,有关详细信息,请参见AWS Can not deserialize instance of java.lang.String out of START_OBJECT
检查我在Github中的代码,希望它能帮助您解决这个问题。
https://github.com/ARNR-CODE/master/blob/main/awspring/src/main/java/se/WeatherForCast/awspring/AccuWeatherHandler.java