Serverless 服务
您不希望为您部署的每个函数创建单独的 serverless.yml 文件。那会非常乏味。幸运的是,Serverless提供了在同一个 serverless.yml 文件中部署多个功能的规定。所有这些功能都属于一个称为"服务"的组。服务名称通常是 serverless.yml 文件中定义的第一件事。
service: my-first-service
provider:
name: aws
runtime: python3.6
stage: prod
region: us-east-2
profile: yash-sanghvi
functions:
func1:
handler: handler1.func1
func2:
handler: handler2.func2
服务中的所有函数在部署后,在 AWS Lambda 控制台上采用以下名称格式-
service_name-stage_name-function_name。因此,上面示例中的两个函数在部署时将采用名称-
my-first-service-prod-func1 和
my-first-service-prod-func2. stage 参数可帮助您区分代码开发的不同阶段。
因此,如果您的功能处于开发阶段,您可以使用阶段
dev;如果是在测试阶段,可以使用阶段
test;如果正在生产中,您可以使用舞台
prod。这样,您可以确保对开发阶段所做的更改不会影响生产代码。艺名不是一成不变的。
dev、test、prod 只是示例。
您可以选择任何艺名。请注意,如果您有 API Gateway 触发的 lambdas(在后面的章节中会详细介绍),那么每个阶段的端点都会不同。
此外,如果您转到 AWS Lambda 控制台中较少使用的"应用程序"部分,您将能够看到整个服务和舞台。
如果您点击您选择的服务和阶段组合,您将能够在一个地方看到该服务使用的所有资源-Lambda 函数、API 网关、事件规则、日志组、S3 存储桶等等。
更有趣的是,您可以转到"监控"选项卡并查看整个服务的性能-> 调用次数、平均持续时间、错误计数等。您可以了解哪个函数在起作用对你的账单最多。当您的服务中有多个功能时,监控每个功能的性能就变得非常困难。服务级别监控选项卡在这里很有帮助。
最后,"部署"选项卡可帮助您查看服务的所有过去部署和部署状态。
