问题标签 [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.
javascript - 如何保护 AWS Lambda 函数?
我有一个简单的 Lambda 函数,它通过 SES 发送电子邮件。我可以使用带有所需数据的 POST 请求调用它,它会发送一封电子邮件。我的问题是,我可以使用哪些方法来保护此功能?目前,任何人都可以调用该端点并使用任何数据执行该函数。
serverless-framework - 基于域模型的无服务器架构?
我最近开始使用无服务器,我完成了 serverless-stack.com 上的教程,我想看看是否有一种方法可以在应用程序中表示域模型。我搜索了一些样本,但似乎找不到任何东西。
我有一个想要建模的应用程序。我将如何在主 serverless.yml 文件中引用它?我如何使它们成为同一个 API 网关的一部分?
提前致谢
amazon-web-services - Amazon API Gateway swagger 导入器工具不会从 swagger 导入 minItems 字段
我正在尝试此处https://github.com/rpgreen/apigateway-validation-demo的 api 网关验证示例。我观察到,从给定的 swagger.json 文件中,minItems 没有导入到在 swagger 导入期间创建的模型中。
因此,当您提供一个空数组 [ ] 作为输入时,API 不会抛出有关数组中最小项目的错误,而是以消息“已成功创建订单”进行响应。
当我从 API 网关控制台 UI 手动添加它时,它似乎按预期工作。我是否遗漏了什么或者这是进口商的错误?
amazon-s3 - 缓存和使 AWS Lambda 响应无效
我正在尝试在 AWS 上实施如下解决方案:
我有一个每天运行一次的爬虫来索引某些网站。我想缓存这些数据并以 API 的形式公开它,因为在爬取之后,这些数据一整天都不会改变。爬虫重新取回后,我想使这个缓存失效并重建以提供更新的数据。我正在尝试使用无服务器架构来构建它。
可能的解决方案
很明显,爬虫将在 AWS Lambda 上运行。我不清楚的是如何管理将为数据提供服务的缓存。以下是我想到的一些解决方案
用于缓存的 S3 和 Cloudfront:爬取后,将数据以 .json 文件的形式存储在 S3 中,将使用 AWS Cloudfront 进行缓存。当爬虫重新获取新数据时,它将重建这些文件并要求 Cloudfront 使缓存无效。
API Gateway DynamoDB:抓取后将数据存储在 DynamoDB 中,然后由缓存的 API Gateway 提供服务。这里唯一的问题是,当爬虫重新爬取时,我怎么能要求这个缓存在一天结束时失效?由于数据将是一天的静态数据,我怎么能不为 DynamoDB 运行的额外时间付费(因为如果我在 API Gateway 上实现缓存,那么只有一次调用 DynamoDB 进行缓存,之后它将处于空闲状态一天)
还有其他我想念的方式吗?
谢谢!
lambda - Serverless:指定的存储桶不存在
我愚蠢地为我的无服务器项目删除了 s3 存储桶。当我现在尝试部署或删除我的应用程序时,我收到此错误:The specified bucket does not exist
如何从无服务器重新创建 s3 存储桶?
python - 与 AWS Lambda 重试失败功能相关的成本?
我正在研究无服务器技术(特别是 AWS Lambda 上的 Python、Django 和Zappa),关于错误处理的一件事让我印象深刻。在 Zappa 文档中它说
默认情况下,如果抛出异常,AWS Lambda 将尝试重试基于事件的(非 API 网关,例如 CloudWatch)调用。
在AWS Lambda 文档中,我读到:
根据事件源,AWS Lambda 可能会重试失败的 Lambda 函数。例如,如果 Kinesis 是事件源,AWS Lambda 将重试失败的调用,直到 Lambda 函数成功或流中的记录过期。
这是否意味着一个函数在引发未处理的异常时将被无限次调用?如果这种情况继续下去,成本必须飙升。
与此相关;“直到流中的记录过期”是什么意思?什么记录,什么流?
azure - 如何为 Azure Function 启用完全信任授权/'RunWithElevatedPrivileges'
我想知道如何启用对我的天蓝色功能的完全信任访问。我知道如何为 azure 服务执行此操作,但是我的 azure 函数需要能够访问位于 D:/Windows/Fonts 系统文件夹中的字体
我看到这里有一些描述这种能力的文字:
RunWithElevatedPrivileges
RunWithElevatedPrivileges 是传统完全信任环境中开发人员执行当前用户通常无权执行的服务器端代码的常用工具。Azure Functions 可以在正确的身份验证配置(当然还有代码中的正确保护措施)下在提升的权限下执行逻辑。一个常见的场景可能类似于站点配置请求。Azure 函数能够像通过 Javascript 的任何其他基于 REST 的端点一样通过 Http 请求进行访问。
但是,它没有描述我如何设置它。我错过了什么?
google-cloud-platform - 构建 Google Cloud Functions 项目
我有一个 REST API,我想移植它以作为云函数的集合运行。我想知道如何以最佳方式拆分不同的端点,以及重命名端点以适应 GCF 模型的程度。
例如,我有以下类型的请求。
如果这是用 GCF 实现的,这些都属于同一个 function images
,然后我需要实现一些基于 HTTP 方法的路由,加上一个模式匹配<image_id>
等。
但是,我可以选择实现类似...
...这样每个端点都有一个被调用的不同函数。从云功能的角度来看,这似乎更合适,但从 RESTful 设计的角度来看,这根本不合适。
以其中一种方式实现云功能的权衡是什么?