【发布时间】: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