我是无服务器框架的新手。好吧,至少是最新版本,这在很大程度上取决于CloudFormation。
我使用以下方法在我的计算机上全局安装了框架:
npm install -g serverless
然后我使用:
创建了一个服务serverless create --template aws-nodejs --path myService
最后,我跑了:
serverless deploy
一切似乎都正常部署,它在终端中没有显示错误。 我可以在新创建的专用S3存储桶中看到CloudFormation文件。
但是,我在AWS Lambda控制台中找不到默认的hello
Lambda函数。
我错过了什么? CloudFormation文件是否应该在部署时创建Lambda函数?
答案 0 :(得分:3)
AWS Lambda控制台中未列出默认
hello
Lambda函数的原因是您的Lambda函数已上载到默认区域(us-east-1),而Lambda控制台显示另一个函数区域。
要为您的功能设置正确的区域,您可以使用serverless.yml
文件的区域字段。
确保region属性直接位于提供者部分下。缩进2/4个空格。像这样:
provider:
region: eu-west-1
或者,您可以在部署时指定区域,如下所示:
sls deploy --region eu-west-1
答案 1 :(得分:0)
Duh,我犯了一个超级愚蠢的错误:
I did not properly set the AWS region
所以,我在错误的地区寻找一个lambda函数:当然无法找到它!
在部署之前,必须确保设置正确的区域
更新实际上,我通过提供以下内容在serverless.yml
中设置了区域:
region: eu-west-1
但是,由于某种原因,默认区域未被覆盖,并且该功能已部署到错误的区域。奇怪,那个。
无论如何,解决此问题的一个简单方法是在部署时提供区域:
sls deploy --region eu-west-1