aws-lambda - 无服务器部署多种功能

标签 aws-lambda serverless-framework

我最近更新了我的无服务器项目,我发现在最近几次更新中很多事情都发生了变化。

https://serverless.com/

我不完全理解拥有与同一项目相关的多个 lambda 函数和 api 网关端点的正确方法是什么。使用旧的无服务器,我将每个 lambda 和端点作为一个完全独立的函数,这对我来说非常有效。

如果我尝试第二个 lambda 函数覆盖我的第一个函数,我似乎无法再这样做了,大概是因为我的两个 lambda 函数的“服务名称”是相同的。我的服务名称相同,因为我希望 API Gateway 中的同一 API 中的两个休息端点。由于 Serverless 根据服务名称创建 API 名称。

然后我尝试将这两个功能添加到同一个“服务”中。这在很大程度上是有效的,除了现在我需要将所有函数的自定义角色语句包含到同一个角色中(因为这个角色现在已链接到我的所有函数)。有效地为每个单独的功能授予比应有的更多权限。另一个问题是,不同函数的所有处理程序文件都被放入每个函数部署包中。

所以基本上,我不确定拥有与同一项目相关但功能独立的多个功能的正确方法是什么。以前有道理,现在就没道理了。

如果有人可以给我一些指示,请

谢谢

最佳答案

我理解你的沮丧。我也有同样的感觉,直到我更深入地研究新版本并形成更好的理解。但需要注意的一件事是,新版本尚未完全完成。因此,如果某些内容完全缺失,您可以提出问题并在 1.0 发布之前优先处理它。

您应该在 serverless.ymlfunctions: 部分下的同一服务下定义多个函数。要单独打包这些函数(排除其他函数的代码),您必须在 package: 部分下设置 individually: true 。然后,您也可以在根级别和函数级别使用包含和排除选项。即将进行的更改将允许您在包含和排除选项中使用 glob 语法(例如 **/*-fn.js)。您可以在这里找到有关包装的更多信息 https://www.serverless.com/framework/docs/providers/aws/guide/deploying .

不知道如何在同一服务下为不同的功能使用不同的角色。0.5 是如何做到的?

关于aws-lambda - 无服务器部署多种功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39867904/

相关文章:

python - 更新 AWS Lambda 文件的权限以使其可执行

amazon-web-services - 映射模板 API 网关中的有效 Json

aws-api-gateway - 无服务器 : create api key from SecretsManager value

node.js - 无服务器 NodeJS/ native node_modules

node.js - 如何在 AWS Lambda 中使用 Node.js 列出我的所有 Amazon EC2 实例?

node.js - 如何访问 AWS Lambda 中的 header ?

javascript - 如何从 Alexa Lambda 函数调用 Web 服务

aws-lambda - AWS Lambda 配置了 VPC 意味着什么?

amazon-web-services - 为什么我的 Lambda 无法访问互联网?

amazon-web-services - 无服务器|如何将 Lambda 授权者设置为 None(公共(public) API)