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