amazon-web-services - 如何使用无服务器将 Angular 应用程序部署到 AWS 来解决 ApiLambdaFunction 错误
问题描述
我正在尝试按照本教程中的步骤使用无服务器程序包将我的 Angular 应用程序部署到 AWS。
我已正确执行了这些步骤,并运行了npm run build:serverless:deploy
,但我在控制台中收到以下错误消息,而不是成功部署应用程序:
发生错误:ApiLambdaFunction - nodejs6.10 的运行时参数不再支持创建或更新 AWS Lambda 函数。我们建议您在创建或更新函数时使用新的运行时 (nodejs10.x)。(服务:AWSLambdaInternal;状态代码:400;错误代码:InvalidParameterValueException;请求 ID:dba0ade8-1f2c-4dc7-8ddc-c2966a54a67c)。
当我node -v
在命令行中运行时,我看到它的版本是 10.14.1。
但是,我确实找到了以下nodejs6.10
参考serverless.yml
:
provider:
name: aws
runtime: nodejs6.10
memorySize: 192
timeout: 10
stage: production
region: eu-central-1
有人可以告诉我为什么会发生这种情况以及如何解决吗?
解决方案
发生这种情况的原因是您试图将在您的 Lambda 函数中运行的 Node.js 版本设置为 Node.js 6,而这不再受支持。
serverless.yml
将您的文件更改为
provider:
name: aws
runtime: nodejs10.x
memorySize: 192
timeout: 10
stage: production
region: eu-central-1
错误信息虽然很清楚。AWS 在一两个月前停止了对 Node.js 6 的支持。只有最初在此版本中创建的功能仍然有效。不能再在 Node.js 6 中创建新功能。老实说,无论如何,没有一个原因有人愿意这样做。
推荐阅读
- c# - 动态生成按钮 C# 和 ASP.NET 并在单击时保存在数据库中
- r - r中的独立性卡方检验
- javascript - 如何在 Node.js officegen 表中插入链接
- node.js - nyc ReferenceError:cov_vyj5vtdds 未使用工作线程定义
- python - 在 Python 中使用插值绘制热图或颜色图
- javascript - 如何从Angular中的http / async调用为接口属性赋值?
- python - python中用于定义全局变量的null等效项
- c - 如何让我的 Visual Studio Code 终端编译我的 c 代码?(我已经有了 C 扩展名)
- azure - 为 azure dns 服务托管的公共 IP 添加别名
- laravel - 如何在 Laravel 中设置 3 个模型之间的关系?