无服务器 – 服务
无服务器 – 服务
您不希望为您部署的每个函数创建单独的 serverless.yml 文件。那会非常乏味。幸运的是,无服务器提供了在同一个 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;如果是在测试阶段,可以使用阶段测试;如果它正在生产中,您可以使用 stage prod。这样,您可以确保对开发阶段所做的更改不会影响生产代码。艺名不是一成不变的。dev、test、prod只是示例。
您可以选择任何艺名。请注意,如果您有 API Gateway 触发的 lambdas(在后面的章节中有更多内容),那么每个阶段的端点都会不同。
此外,如果您转到 AWS Lambda 控制台的较少使用的“应用程序”部分,您将能够看到整个服务与舞台。
如果您单击您选择的服务和阶段组合,您将能够在一个地方看到该服务使用的所有资源 – Lambda 函数、API 网关、事件规则、日志组、S3 存储桶等等。
更有趣的是,您可以转到“监控”选项卡并查看整个服务的性能 -> 调用次数、平均持续时间、错误计数等。您可以了解哪个功能对服务的贡献最大你的账单。当您的服务中有多个功能时,监控每个功能的性能就变得非常困难。服务级别监控选项卡在这里有很大帮助。
最后,“部署”选项卡可帮助您查看服务的所有过去部署和部署状态。