Lambda 函数 NodeJS 版本始终恢复为 12.x

Lambda Function NodeJS version always reverted to 12.x

我是 运行 javascript Lambda 函数,需要 NodeJS 版本 14.x。我可以在此处的 AWS Lambda 控制台中手动设置它(下面的屏幕截图),但每次我使用 amplify CLI 推送函数更改时,它都会恢复为 12.x。我在本地放大文件或在线找不到任何对 NodeJS 版本的引用。有什么办法可以避免每次都恢复原状吗?

这是 Lambda 控制台选项的样子,我经常将其编辑为 14.x,但它变回 12.x:

目前(2021 年 7 月 26 日),AWS Amplify 仅支持 NodeJS ver 12.x。请参阅 Amplify 文档中的 Supported Lambda runtimes 段落以供参考。

虽然@matsev 的回答看起来是 AWS 支持的官方版本,但我注意到虽然我的一些功能继续恢复到 12.x,但其他功能在推送后仍然保持在 14.x .留在 14.x 的是我最近创建的函数。

事实证明,您可以为每个函数编辑 *.cloudformation-template.json 来设置 nodejs 版本!该文件没有出现在我的 vscode 搜索中,因为之前的开发人员使用 files.exclude 隐藏了它。这可能是一个很好的最佳实践,因为该文件只是使用 amplify CLI 进行编辑,但显然有一些设置不属于 CLI 命令的一部分。再比如这里的timeout参数。

文件位于:amplify/backend/function/FUNCTION_NAME/FUNCTION_NAME-cloudformation-template.json 要编辑的参数是:`Resources.LambdaFunction.Properties.Runtime = "nodejs14.x"