如何使用无服务器解决Angular应用程序到AWS的ApiLambdaFunction错误

时间:2019-07-25 20:08:51

标签: amazon-web-services aws-lambda serverless-framework

我尝试按照serverless教程中的步骤,使用this软件包将Angular应用程序部署到AWS。

我正确地执行了这些步骤,并且运行了npm run build:serverless:deploy,但是不是成功部署应用程序,而是在控制台中收到以下错误消息:

  

发生错误:ApiLambdaFunction-   的运行时参数   创建或更新AWS Lambda不再支持nodejs6.10   功能。我们建议您在使用新的运行时(nodejs10.x)的同时   创建或更新功能。 (服务:AWSLambdaInternal;状态   代码:400;错误代码:InvalidParameterValueException;要求编号:   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

有人可以告诉我为什么会这样以及如何解决吗?

1 个答案:

答案 0 :(得分:1)

发生这种情况的原因是您试图将Lambda函数中运行的Node.js版本设置为Node.js 6,并且不再支持该版本。

将您的city文件更改为

serverless.yml

该错误消息非常清楚。一两个月前,AWS停止了对Node.js 6的支持。只有最初在此版本中创建的功能仍然可以使用。不再可以在Node.js 6中创建新功能。老实说,没有任何理由总要有人这样做。

https://aws.amazon.com/blogs/developer/node-js-6-is-approaching-end-of-life-upgrade-your-aws-lambda-functions-to-the-node-js-10-lts/