FUNCTION_ERROR_INIT_FAILURE AWS 拉姆达

The*_*heo 11 amazon-web-services node.js aws-lambda serverless-framework serverless

我最近添加了很酷的 lambda 功能配置并发

经过几次成功部署后,我现在面临这个问题

无服务器错误 -------------------------------

ServerlessError:发生错误:GraphqlPrivateProvConcLambdaAlias - 无法应用预置并发配置。原因:FUNCTION_ERROR_INIT_FAILURE。在 C:\Users\theod\AppData\Roaming\npm\node_modules\serverless\lib\plugins\aws\lib\monitorStack.js:125:33 来自上一个事件:在 AwsDeploy.monitorStack (C:\Users\theod\AppData \Roaming\npm\node_modules\serverless\lib\plugins\aws\lib\monitorStack.js:28:12) 在 C:\Users\theod\AppData\Roaming\npm\node_modules\serverless\lib\plugins\aws\lib \updateStack.js:107:28 来自之前的活动:在 AwsDeploy.update

这是我的示例 serverless.yml 文件

service: backend-api

parameters:
  region: ap-southeast-2
  path: &path /

provider:
  name: aws
  runtime: nodejs12.x
  stage: ${env:STAGE, 'staging'}
  region: ap-southeast-2
  versionFunctions: true

plugins:
  - serverless-webpack
  - serverless-pseudo-parameters
  - serverless-prune-plugin
  # - serverless-offline-scheduler
  - serverless-offline

functions:
  # GRAPHQL APIs
  graphqlPrivate:
    handler: src/graphql/private/index.handler
    memorySize: 256
    timeout: 30
    name: ${self:service}-gqlPrivate-${self:provider.stage}
    vpc: ${file(./serverless/vpc.yml)}
    events:
        - http:
            path: /graphql/private
            method: ANY
            cors: true
            authorizer:
              arn: arn:aws:cognito-idp:#{AWS::Region}:#{AWS::AccountId}:userpool/${self:custom.cognitoArns.private.${self:provider.stage}}
    provisionedConcurrency: 10


package:
  individually: true

custom:
  webpack:
    keepOutputDirectory: true
    serializedCompile: true
    webpackConfig: 'webpack.config.js'
    packager: 'npm'
  stage: ${opt:stage, self:provider.stage}

  prune:
    automatic: true
    number: 1
Run Code Online (Sandbox Code Playgroud)

有人能够解决这个问题吗?

  Your Environment Information ---------------------------
     Operating System:          win32
     Node Version:              12.11.0
     Framework Version:         1.61.3
     Plugin Version:            3.2.7
     SDK Version:               2.3.0
     Components Core Version:   1.1.2
     Components CLI Version:    1.4.0
Run Code Online (Sandbox Code Playgroud)

The*_*heo 18

FUNCTION_ERROR_INIT_FAILURE显然意味着我试图部署的函数的处理程序/代码有问题,w/c 是配置的 lambda 无法启动/初始化的原因。

解决这个问题的方法是首先测试没有预配置的并发选项。一旦你能够推送你的 lambda,错误肯定会流入你的 CW 日志。不过,最好的方法是在本地测试您的 lambda(使用serverless-offline插件或serverless invoke),如果它工作正常。您还可以打包您的应用程序,并使用无服务器 cli 调用它以检测打包问题。

在我的情况下,存在我的代码包正在寻找一个运行时错误要求是不包的一部分。

截至目前(2020 年 1 月 29 日),这在 AWS lambda 上没有记录