amazon-web-services - AWS Lambda 上的 API 后端
问题描述
上下文: 我有一个用例,我的后端服务应该计算一个或多个特征,其中每个特征都是简单的计算和平(可以像添加两个数字一样简单)并且每个特征都接受输入并返回一个输出值,可以是布尔值或数字。客户端实际上可以请求功能(1 或 10 等),每个功能也可以有多个版本。
设计: Lambda 函数似乎是一个不错的选择,因为它支持版本控制并负责扩展。在我的设计中,一个 Lambda 将接收请求,然后并行调用进一步的 lambda 函数(假设用户要求 12 个特性,Lambda 函数 L1 将并行调用 12 个 Lambda 函数),并将所有计算的特性值作为一个响应返回(HTTP )。这样,所有功能都可以在它们自己的 Lambda 函数中进行版本控制。
问题: 可以直接从另一个 Lambda 函数调用 lambda 函数吗?它是使用 Lambda 函数的好用例吗?
谢谢
解决方案
我认为 Lambda 适用于您的用例。对于版本控制,您可以使用 API Gateway 提供的 API 版本控制,但我认为这对您的情况来说有点多。只需创建不同的功能。
查看serverless.com。这是一个坚实的框架,很容易上手。设置它需要做很多工作,而且你的基础设施就是代码。
是的,可以从其他 Lambda 调用 lambda。但是,没有一种“干净”的方法可以做到这一点。另一方面,“阶梯函数”可能是您需要的。工作流中的 Lambda 支持链接函数。前一个 lambda 并没有“调用”下一个函数,而是继续工作流程中的下一步。Serverless 框架也支持使用该方法,可以在 serverless.yml 配置文件中进行配置
推荐阅读
- grafana - 为 AddTextInput 启用多行
- mysql - prisma:乐观并发控制使用UpdateMany有问题
- javascript - vue-slick-carousel - 如何禁用点击上一个/下一个箭头按钮
- python - 是否有可能 python 字符串不像我想象的那样不可变?
- laravel - MongoDB 错误 TLS 握手失败:错误:1416F086
- java - java - 如何通过让用户在java中按下键盘上的特定键来终止无限控制台循环?
- aws-lambda - 如何在 aws lambda 中使用 python pdfkit 和 wkhtmltopdf?
- r - 计算一行在不同数据集中出现的次数
- reactjs - 在反应中获取未定义的错误值
- mule4 - 如何在 Mule 4 中创建在应用程序启动时执行的侦听器?