所以,我正在学习Amazon Lambda,看看我是否可以让Alexa(Amazon Echo)与MySQL后端进行通信。我设置了一个面向公众的Amazon RDS,并设置了一个简单的java处理程序,通过DriverManager建立一个jdbc连接。
使用mysql的Java库,我使用DriveManager#getConnection方法创建连接。在本地,这是有效的,我的查询返回我期望它。但是,当我将处理程序上传到Amazon Lambda控制台并对其进行测试时,我得到以下错误原因:
"cause": {
"errorMessage": "java.lang.NullPointerException",
"errorType": "java.lang.NullPointerException",
"stackTrace": [
"java.util.Properties$LineReader.readLine(Properties.java:434)",
"java.util.Properties.load0(Properties.java:353)",
"java.util.Properties.load(Properties.java:341)",
"com.mysql.cj.jdbc.util.TimeUtil.loadTimeZoneMappings(TimeUtil.java:163)",
"com.mysql.cj.jdbc.util.TimeUtil.getCanonicalTimezone(TimeUtil.java:109)",
...
我做了一些谷歌搜索,发现https://bugs.mysql.com/bug.php?id=79343。似乎需要在运行代码的服务器上定义属性文件。我的问题是,是否有其他人尝试通过Amazon Lambda使用JDBC连接到mysql服务器,或者是否每个人都使用NodeJS或Python而不是java。如果是这样,有没有人为此找出解决方法或我做错了什么?