问题标签 [serverless-architecture]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1524 浏览

javascript - 如何保护 AWS Lambda 函数?

我有一个简单的 Lambda 函数,它通过 SES 发送电子邮件。我可以使用带有所需数据的 POST 请求调用它,它会发送一封电子邮件。我的问题是,我可以使用哪些方法来保护此功能?目前,任何人都可以调用该端点并使用任何数据执行该函数。

0 投票
1 回答
524 浏览

serverless-framework - 基于域模型的无服务器架构?

我最近开始使用无服务器,我完成了 serverless-stack.com 上的教程,我想看看是否有一种方法可以在应用程序中表示域模型。我搜索了一些样本,但似乎找不到任何东西。

我有一个想要建模的应用程序。我将如何在主 serverless.yml 文件中引用它?我如何使它们成为同一个 API 网关的一部分?

提前致谢

0 投票
2 回答
3021 浏览

distributed-computing - IPFS 和超光驱有什么区别?

一年前,我参加了慕尼黑聚会,在那里我第一次看到了超光速项目的现场直播,并发现它令人印象深刻。我最近还偶然发现了 IPFS——星际文件系统——我想知道它们之间的区别。在加利福尼亚开始这样的项目时很容易产生很多反响,所以我猜它们可能是类似的项目,但仍然不完全了解超光速的范围。

我非常喜欢 API 和实现超驱动,所以如果我必须在分布式文件系统上构建应用程序,我相信此时选择该项目对我来说会更容易。

有什么地方或一些粗体的要点可以用来比较吗?

谢谢

0 投票
1 回答
289 浏览

amazon-web-services - Amazon API Gateway swagger 导入器工具不会从 swagger 导入 minItems 字段

我正在尝试此处https://github.com/rpgreen/apigateway-validation-demo的 api 网关验证示例。我观察到,从给定的 swagger.json 文件中,minItems 没有导入到在 swagger 导入期间创建的模型中。

因此,当您提供一个空数组 [ ] 作为输入时,API 不会抛出有关数组中最小项目的错误,而是以消息“已成功创建订单”进行响应。

当我从 API 网关控制台 UI 手动添加它时,它似乎按预期工作。我是否遗漏了什么或者这是进口商的错误?

0 投票
1 回答
1377 浏览

amazon-s3 - 缓存和使 AWS Lambda 响应无效

我正在尝试在 AWS 上实施如下解决方案:

我有一个每天运行一次的爬虫来索引某些网站。我想缓存这些数据并以 API 的形式公开它,因为在爬取之后,这些数据一整天都不会改变。爬虫重新取回后,我想使这个缓存失效并重建以提供更新的数据。我正在尝试使用无服务器架构来构建它。

可能的解决方案

很明显,爬虫将在 AWS Lambda 上运行。我不清楚的是如何管理将为数据提供服务的缓存。以下是我想到的一些解决方案

  1. 用于缓存的 S3 和 Cloudfront:爬取后,将数据以 .json 文件的形式存储在 S3 中,将使用 AWS Cloudfront 进行缓存。当爬虫重新获取新数据时,它将重建这些文件并要求 Cloudfront 使缓存无效。

  2. API Gateway DynamoDB:抓取后将数据存储在 DynamoDB 中,然后由缓存的 API Gateway 提供服务。这里唯一的问题是,当爬虫重新爬取时,我怎么能要求这个缓存在一天结束时失效?由于数据将是一天的静态数据,我怎么能不为 DynamoDB 运行的额外时间付费(因为如果我在 API Gateway 上实现缓存,那么只有一次调用 DynamoDB 进行缓存,之后它将处于空闲状态一天)

还有其他我想念的方式吗?

谢谢!

0 投票
3 回答
10918 浏览

lambda - Serverless:指定的存储桶不存在

我愚蠢地为我的无服务器项目删除了 s3 存储桶。当我现在尝试部署或删除我的应用程序时,我收到此错误:The specified bucket does not exist如何从无服务器重新创建 s3 存储桶?

0 投票
1 回答
1419 浏览

python - 与 AWS Lambda 重试失败功能相关的成本?

我正在研究无服务器技术(特别是 AWS Lambda 上的 Python、Django 和Zappa),关于错误处理的一件事让我印象深刻。在 Zappa 文档中它说

默认情况下,如果抛出异常,AWS Lambda 将尝试重试基于事件的(非 API 网关,例如 CloudWatch)调用。

AWS Lambda 文档中,我读到:

根据事件源,AWS Lambda 可能会重试失败的 Lambda 函数。例如,如果 Kinesis 是事件源,AWS Lambda 将重试失败的调用,直到 Lambda 函数成功或流中的记录过期。

这是否意味着一个函数在引发未处理的异常时将被无限次调用?如果这种情况继续下去,成本必须飙升。

与此相关;“直到流中的记录过期”是什么意思?什么记录,什么流?

0 投票
2 回答
732 浏览

python-2.7 - 我可以在 Zappa Init 中禁用自动创建 S3 存储桶吗?

我想开始使用 zappa 框架,但是当我运行 init zappa 时,我收到了这个通知: 在此处输入图像描述

如何禁用自动创建 s3 存储桶?

0 投票
0 回答
220 浏览

azure - 如何为 Azure Function 启用完全信任授权/'RunWithElevatedPrivileges'

我想知道如何启用对我的天蓝色功能的完全信任访问。我知道如何为 azure 服务执行此操作,但是我的 azure 函数需要能够访问位于 D:/Windows/Fonts 系统文件夹中的字体

我看到这里有一些描述这种能力的文字:

RunWithElevatedPrivileges

RunWithElevatedPrivileges 是传统完全信任环境中开发人员执行当前用户通常无权执行的服务器端代码的常用工具。Azure Functions 可以在正确的身份验证配置(当然还有代码中的正确保护措施)下在提升的权限下执行逻辑。一个常见的场景可能类似于站点配置请求。Azure 函数能够像通过 Javascript 的任何其他基于 REST 的端点一样通过 Http 请求进行访问。

但是,它没有描述我如何设置它。我错过了什么?

0 投票
0 回答
79 浏览

google-cloud-platform - 构建 Google Cloud Functions 项目

我有一个 REST API,我想移植它以作为云函数的集合运行。我想知道如何以最佳方式拆分不同的端点,以及重命名端点以适应 GCF 模型的程度。

例如,我有以下类型的请求。

如果这是用 GCF 实现的,这些都属于同一个 function images,然后我需要实现一些基于 HTTP 方法的路由,加上一个模式匹配<image_id>等。

但是,我可以选择实现类似...

...这样每个端点都有一个被调用的不同函数。从云功能的角度来看,这似乎更合适,但从 RESTful 设计的角度来看,这根本不合适。

以其中一种方式实现云功能的权衡是什么?