无服务器框架:如何使用 CloudFormation 进行部署?
Serverless Framework: how to deploy with CloudFormation?
我是无服务器框架的新手。好吧,至少是最新版本,它在很大程度上依赖于 CloudFormation。
我使用以下方法在我的计算机上全局安装了框架:
npm install -g serverless
然后我使用以下方法创建了一个服务:
serverless create --template aws-nodejs --path myService
最后,我运行:
serverless deploy
一切似乎都正常部署,终端中没有显示任何错误。
我可以在新创建的专用 S3 存储桶中看到 CloudFormation 文件。
但是,我在 AWS Lambda 控制台中找不到默认的 hello
Lambda 函数。
我错过了什么? CloudFormation 文件是否不应在部署时创建 Lambda 函数?
呃,我犯了一个超级愚蠢的错误:
I did not properly set the AWS region
所以,我在错误的区域中寻找 lambda 函数:当然找不到!
Before deploying, one must make sure to set the correct region
更新实际上,我通过提供以下内容在 serverless.yml
中设置了区域:
region: eu-west-1
但是,由于某种原因,默认区域没有被覆盖,函数被部署到错误的区域。奇怪,那个。
无论如何,解决此问题的一种简单方法是在部署时提供区域:
sls deploy --region eu-west-1
The reason the default hello
Lambda function is not listed in the AWS Lambda console is because your Lambda function was uploaded to the default region (us-east-1), while the Lambda console displays the functions of another region.
要为您的函数设置正确的区域,您可以使用 serverless.yml
文件的区域字段。
确保区域 属性 直接位于提供商部分 下。缩进 2/4 个空格。像这样:
provider:
region: eu-west-1
或者,您可以在部署时指定区域,如下所示:
sls deploy --region eu-west-1
我是无服务器框架的新手。好吧,至少是最新版本,它在很大程度上依赖于 CloudFormation。
我使用以下方法在我的计算机上全局安装了框架:
npm install -g serverless
然后我使用以下方法创建了一个服务:
serverless create --template aws-nodejs --path myService
最后,我运行:
serverless deploy
一切似乎都正常部署,终端中没有显示任何错误。 我可以在新创建的专用 S3 存储桶中看到 CloudFormation 文件。
但是,我在 AWS Lambda 控制台中找不到默认的 hello
Lambda 函数。
我错过了什么? CloudFormation 文件是否不应在部署时创建 Lambda 函数?
呃,我犯了一个超级愚蠢的错误:
I did not properly set the AWS region
所以,我在错误的区域中寻找 lambda 函数:当然找不到!
Before deploying, one must make sure to set the correct region
更新实际上,我通过提供以下内容在 serverless.yml
中设置了区域:
region: eu-west-1
但是,由于某种原因,默认区域没有被覆盖,函数被部署到错误的区域。奇怪,那个。
无论如何,解决此问题的一种简单方法是在部署时提供区域:
sls deploy --region eu-west-1
The reason the default
hello
Lambda function is not listed in the AWS Lambda console is because your Lambda function was uploaded to the default region (us-east-1), while the Lambda console displays the functions of another region.
要为您的函数设置正确的区域,您可以使用 serverless.yml
文件的区域字段。
确保区域 属性 直接位于提供商部分 下。缩进 2/4 个空格。像这样:
provider:
region: eu-west-1
或者,您可以在部署时指定区域,如下所示:
sls deploy --region eu-west-1