将无服务器的next.js react应用程序部署到AWS Lambda,得到{“ message”:“内部服务器错误”}

时间:2020-02-04 05:51:40

标签: reactjs amazon-web-services aws-lambda next.js serverless

我一直在尝试将简单的无服务器React.js Next应用程序部署到AWS Lambda。在Node.js和AWS CloudFormation状态下部署应用程序时,一切看起来都很好,是绿色的UPDATE_COMPLETE。

但是,当我访问端点链接时,我会得到

UPDATE maxscore SET max_score = 50

不用说,我对此并不陌生,只是想让我的第一个应用程序与无服务器应用程序一起运行。这是我遵循的教程:https://statsbot.co/blog/a-crash-course-on-serverless-side-rendering-with-reactjs-nextjs-and-aws-lambda/,但是我禁用了serverless-domain-manager,因为我对任何给定的域都满意,我只想先获得一个超级基本的React Next应用程序工作,然后再考虑更多复杂的步骤。

我检查了有关CloudWatch中错误的更多详细信息,这是它返回给我的内容: 2020-02-04T05:21:27.230Z undefined ERROR未捕获的异常

{"message": "Internal server error"}

并以此结尾:发生未知应用程序错误Runtime.UserCodeSyntaxError

{
    "errorType": "Runtime.UserCodeSyntaxError",
    "errorMessage": "SyntaxError: missing ) after argument list",
    "stack": [
        "Runtime.UserCodeSyntaxError: SyntaxError: missing ) after argument list",
        "    at _loadUserApp (/var/runtime/UserFunction.js:98:13)",
        "    at Object.module.exports.load (/var/runtime/UserFunction.js:140:17)",
        "    at Object.<anonymous> (/var/runtime/index.js:43:30)",
        "    at Module._compile (internal/modules/cjs/loader.js:956:30)",
        "    at Object.Module._extensions..js (internal/modules/cjs/loader.js:973:10)",
        "    at Module.load (internal/modules/cjs/loader.js:812:32)",
        "    at Function.Module._load (internal/modules/cjs/loader.js:724:14)",
        "    at Function.Module.runMain (internal/modules/cjs/loader.js:1025:10)",
        "    at internal/main/run_main_module.js:17:11"
    ]
}

据我了解,IAM角色配置正确,因为所有角色均已正确上传到AWS。

我希望我可以在此问题上得到一些帮助。非常感谢!

2 个答案:

答案 0 :(得分:1)

使用api-gateway作为端点测试我的lambda应用程序时,出现了相同的错误消息/someroute/123456。我在这里找到了答案:https://aws.amazon.com/premiumsupport/knowledge-center/malformed-502-api-gateway/

就我而言,我必须重组mysql查询以JSON格式输出主体,希望这对您有所帮助。

答案 1 :(得分:0)

我遇到了同样的问题。我认为这是因为Lambda不支持here

中所述的ES6 import语句