无服务器框架:如何使用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