问题标签 [serverless]

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 回答
709 浏览

amazon-web-services - 是否可以使用 AWS lambda 模拟浏览器?

是否可以创建一个 aws lambda 函数来充当浏览器访问网站(无需身份验证)读取其 html 并执行其 js ?

0 投票
1 回答
433 浏览

serverless - Lambda 与容器服务?

我想知道,因为 fn 项目是基于 docker 的,我们可以将我们的功能部署为 docker 镜像,但这有一个障碍......我们将无法使用云提供商提供的真正的 lambda 函数,因为我们将不得不使用容器服务。

甚至成本也会有所不同。我错了吗?

谢谢。

0 投票
1 回答
589 浏览

amazon-web-services - serverless deploy 命令所需的权限

在创建 IAM 用户/组以运行AWS_ACCESS_KEY_ID=x AWS_SECRET_ACCESS_KEY=y serverless deploy -von aws lambda 时,应向该用户/组授予哪些角色/权限?

0 投票
2 回答
153 浏览

node.js - 在无服务器节点实例上存储 AWS IoT 凭证的最佳方式?

我现有的本地托管服务器加载其 iot 身份 + 凭据,如下所示:

..而且我不会在任何地方提交私钥和证书。它安全地存在于服务器磁盘上。

我如何安全地将其迁移到在 codestar 上运行的无服务器 cloud9 设置?假设我信任我的 AWS 团队,我可以将其存储在项目文件中吗?

0 投票
2 回答
732 浏览

amazon-web-services - 无客户端 SDK 的 AWS Cognito 身份验证

TL;DR如何在不将 Cognito SDK 嵌入客户端的情况下 通过 AWS Cognito 为经过身份验证/未经身份验证的用户提供对我的电影搜索 API 的访问权限?

AWS Cognito文档指出您必须将客户端 SDK 部署到您的应用程序中。我想避免将我的 API 实现从外部嵌入到特定的提供者。例如,也许将来我会使用 Google Firebase 或任何其他 IdP。因此,我不想在客户端与 Cognito 进行深度集成。将 AWS Cognito(或任何 IdP)与客户端隔离的推荐方法是什么?

0 投票
4 回答
397 浏览

serverless-framework - 无服务器 - 大型应用程序

我是无服务器框架的新手。

我正在启动一个具有多个路由的 Rest API,例如:

获取用户/{userid}

发布用户


获取帐户/{accountid}

发布帐户

我需要 2 项服务 - 帐户 + 用户吗?

最佳实践是什么?如果有 2 个服务,那么 2 个 serverless.yml?有没有人有无服务器大型应用程序的例子?

谢谢大家!

0 投票
1 回答
1746 浏览

mongodb - 如何使用 webtask.io 和 mlab 使用 mongodb find() 获取集合的所有文档

我在 mlab.com 的 mongodb 中有一个名为“posts”的集合,我正在尝试使用db.collection('posts').find(). 下面是我创建的 webtask 的代码,我将其命名为mongodb_find

我有一个mongodb_upsert与此非常相似并且运行良好的 webtask。但是,对于我的mongodb_find任务,我收到以下错误:

从命令行连接到 mongodb 时,相同的find()命令可以正常工作:

集合中的文档设置如下:

有谁知道这个问题的解决方案?谢谢你。

0 投票
2 回答
6405 浏览

node.js - 如何在无服务器中允许 CORS 用于自定义标头?

这里的核心问题是:“如何在使用无服务器框架处理的 CORS GET 请求中允许自定义标头? ”。如果您知道答案,请通过 Go,收集 200 美元并请回答该问题。如果这不是一个直接回答的问题,以下是详细信息:

我正在使用 AWS Lambda 上的无服务器框架编写应用程序(API 是通过 AWS API Gateway 管理的。坦率地说,我不完全确定这意味着什么或为我提供了什么好处,但这就是无服务器自动为我配置的)。我正在尝试创建一个需要启用 CORS 的开放 API。我正在使用 Lambda 代理集成。我遵循了此处找到的做法。他们给我带来了部分成功。如果我不包含自定义标头,我的应用程序当前启用了 CORS。但是,它仍然不适用于自定义标题。

当我向我的 API 发送以下请求时:

...我收到此错误:

如果我使用 Chrome 开发工具检查“响应标头”,则会确认此错误消息:响应标头中没有 Access-Control-Allow-Origin。

但是,如果我发送带有setRequestHeader()注释的相同请求,它会完美运行(是的,我知道它返回 403 错误:这是故意行为)。

这就是我认为正在发生的事情。我的服务有两个潜在的 CORS 问题:域相关(不是来自原始域的请求)和自定义标头相关(CORS 规范未安全列出的标头,更多信息)。不知何故,无服务器框架在第二个问题上遇到了问题,这导致它甚至没有达到它发出适当的标头以允许所有 ("*") 域的地步。

这是我的 serverless.yml 配置文件:

这是我要运行的功能。您可以看到我多次尝试正确设置标题。我 60% 相信serverless.yml此时将通过该文件进行修复。

XMLHttpRequest您可以在以下站点的开发控制台中复制我在上面运行的问题:

  1. 启用或禁用自定义标头的 api.spongebobify.com。它在这两种情况下都可以正常工作(因为它不会是跨源的)。
  2. 任何没有正确配置 CSP 且启用了自定义标头的站点。OPTIONS 请求会失败,它会准确报告没有 Access-Control-Allow-Origin 标头
  3. 在未启用自定义标头的情况下没有正确配置 CSP 的任何站点。OPTIONS 请求将通过(您会知道,因为 Chrome 永远不会告诉您它发生了),您将在响应标头中看到 Access-Control-Allow-Origin。您还将看到响应“格式错误的请求。”。
0 投票
1 回答
511 浏览

amazon-web-services - 无服务器/AWS Lambda - 为已发布的 lambda 版本创建触发器

我正在使用无服务器框架在AWS Lambda上部署我的函数

我正在尝试为我发布的每个版本的 Lambda 函数自动创建触发器。

当我部署无服务器应用程序时,会创建 Lambda 函数和触发器(在本例中是我的 AWS IOT 触发器),如下图所示:

在此处输入图像描述

但是对于我发布的 lambda 函数版本,触发器不存在,只有资源:

在此处输入图像描述

我不想每次发布新的 lambda 版本时都创建新的触发器。

那么,还有什么方法可以为我的版本化 lambda 创建触发器吗?如果可能的话,使用无服务器框架禁用旧的?

我的serverless.yml文件:

0 投票
2 回答
317 浏览

amazon-web-services - 无服务器函数是否获得专用 CPU 资源?

我告诉一个朋友,使用 lambda 函数运行负载的一个优点是每个实例,因此每次执行,都会获得专用资源 - 内存和 CPU(也许还有磁盘、网络,......但这不太相关)。然后我开始怀疑...

例如,如果您有一个函数具有一些由多个租户使用的 CPU 密集型逻辑,那么一个执行永远不会受到另一个执行的影响。如果某个计算需要 5 秒来执行,那么无论同时处理多少个请求,它总是需要 5 秒。

这对于内存来说似乎是不言而喻的,但对于 CPU 来说则不然。通过快速测试,我似乎得到了喜忧参半的结果。

那么,每个函数实例都有自己的 CPU 专用资源吗?

我的主要关注点是 AWS Lambda,但同样的问题出现在 Azure(我猜是在消费计划上)和谷歌。