【问题标题】:Serverless Framework - Value not found at "self" source无服务器框架 - 在“自我”源中找不到值
【发布时间】:2022-02-08 20:55:50
【问题描述】:

我有以下 serverless.yml 文件:

org: bizrob
app: flexipod-2-queue
service: flexipod-2-queue

frameworkVersion: "^2.72.2"

custom:
  region: eu-west-1

provider:
  name: aws
  runtime: nodejs14.x

plugins:
  - serverless-prune-plugin
  - serverless-offline
  - serverless-webpack
  - serverless-plugin-resource-tagging
  - serverless-step-functions

functions:
  cronHandler:
    handler: flexipod-2-queue/flexipodJob.dataFeedsJob
    events:
      # Invoke Lambda function every 2nd minute from Mon-Fri
      - schedule: cron(0/8 * ? * MON *)
    environment:
      REGION: ${self:custom.region}
      API_VERSION_S3: "2006-03-01"
      API_VERSION_SQS: "2012-11-05"
      SQS_QUEUE_URL: !Ref "MyQueue"

resources:
  Resources:
    MyQueue:
      Type: "AWS::SQS::Queue"
      Properties:
        QueueName: "flexipod"

当我运行无服务器部署时,我收到以下错误:

无法解析“functions.cronHandler.environment.REGION”中的变量: 在“self”源中找不到值

请大家看看我做错了什么?

【问题讨论】:

  • 我尝试serverless print 您的示例使用相同的框架版本并且变量正确解析。 serverless print 的 REGION 输出是什么?
  • 无服务器打印环境:win32,节点 16.1.0,框架 3.0.0,插件 6.0.0,SDK 4.3.0 文档:docs.serverless.com 支持:forum.serverless.com 错误:github .com/serverless/serverless/issues 错误:Serverless 版本(3.0.0)不满足 serverless.yml 中的“frameworkVersion”(^2.72.2)
  • 即使在将无服务器 yml 更新为具有以下内容后,我仍然从无服务器打印中收到相同的错误消息:frameworkVersion: "2 || 3"
  • 可能很明显,但是当您执行命令时,您是否双重/三次检查您是否位于正确的文件夹(正确的 yaml 文件所在的位置)..(并且文件已正确保存) ?.鉴于无服务器不会对 frameworkVersion 更改做出反应并且您仍然无法打印。

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


【解决方案1】:

感谢 @eli6 提供有关无服务器打印的提示。我不知道问题的根本原因,但是在重新启动 vscode 无服务器打印和无服务器部署后,它就可以工作了

【讨论】:

    猜你喜欢
    • 2018-05-26
    • 2021-04-18
    • 2020-09-25
    • 1970-01-01
    • 1970-01-01
    • 2016-11-19
    • 2020-01-15
    • 2019-07-07
    • 1970-01-01
    相关资源
    最近更新 更多