问题标签 [aws-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 回答
477 浏览

amazon-web-services - 在 VPC 中连接到 RDS 的 AWS Lambda 潜在替代方案

我在 VPC 中使用 lambda 函数连接到同一 VPC 中的 RDS 实例。我正在考虑从 VPC 中删除 lambda 以大幅减少冷启动时间,但我想将我的 RDS 实例保留在 VPC 中。

任何人都可以预见使 lambda 函数使用 SSH 隧道连接到 VPC 中的堡垒实例并随后连接到 RDS 实例的主要问题吗?或者与VPN类似的东西?

显然会有一些开销,因为可以说流量有一个额外的“跳跃”,但这是否足以使这种方法不可行?或者是当前唯一将 Lambda 保持在同一个 VPC 中并尝试保持少量调用运行的方法?

我还为 NAT 网关付费,以便我在 VPC 中的 Lambda 可以访问互联网。如果我可以通过使用 SSH 隧道连接到 RDS 实例将其从 VPC 中取出,那么它还将简化我的架构并降低我的运营成本。

0 投票
2 回答
4492 浏览

amazon-web-services - AWS SAM(无服务器应用程序模型)和无服务器框架有什么区别?

我们正在开发项目,我们正在尝试在 nodejs 中构建无服务器应用程序。我遇到了 AWS SAM 和无服务器的术语。哪个最适合实现无服务器应用程序

0 投票
8 回答
39478 浏览

aws-lambda - 如何将参数传递给无服务器调用本地

我正在开发一个 aws 无服务器项目,需要在本地测试 lambda 函数。
我正在使用serverless invoke local -f {function_name}命令来测试不请求任何路径或查询参数的 API 调用。
我的问题是如何使用此命令将任何路径或查询参数传递给函数?

示例无服务器描述

0 投票
2 回答
653 浏览

node.js - 代码管道将 S3 存储桶作为用户参数传递给 AWS 中的 lambda 函数

我正在创建一个无服务器 lambda,并希望在部署阶段成功后的最后阶段将其作为代码管道调用。

在用户参数中,我传递了 S3 存储桶名称, 在此处输入图像描述

我如何访问 lambda 中的用户参数以获取存储桶名称和版本 ID。

下面是我的 lambda,它应该放入 dynamoDB 表中,每个部署和递增版本号。

这是我的 lambda 的小提琴Put lambda

我错过了如何在我的 lambda 中访问 requestBody 中的用户参数并增加版本,你能遮住一些光吗

0 投票
1 回答
50 浏览

node.js - 在 UI 和 AWS 服务之间引入 node.js 层

我正在 AWS 上设计一个使用 Cognito 进行用户管理的解决方案。

我使用此快速入门作为起点:

SAAS 快速入门

有一个重大变化:我计划使这个无服务器。所以没有 ECS 容器来托管服务。我将在 S3 上托管我的 UI。

我的一个问题在于现有解决方案中使用的“auth-manager”,并在 github 上找到:

使用 Node.js 的身份验证管理器

基本上,UI 使用该层来促进与 Cognito 的交互。但是,与简单地将这些 Cognito 调用移动到前端 Web 应用程序相比,我认为这样做没有优势。我错过了什么吗?我知道这样的节点层可能有利于提供缓存层,但我认为如果需要,我可以将 Elasticache(Redis) 用作服务。

我错过了什么吗?如果我只是将这个 Node auth-manager 移到我的 S3 静态 Javascript 应用程序中,我会失去什么吗?

提前致谢。

0 投票
1 回答
2761 浏览

node.js - 如何从无服务器 cli 设置 Cloudformation 完全访问权限

我对 aws 帐户具有编程访问权限,当我尝试部署基本功能时,我得到:

用户:arn:aws:iam::xxxx:user/myname 无权执行:cloudformation:DescribeStacks on resource:arn:aws:cloudformation:eu-west-1:xxxxxx:stack/hello-world-dev/*

我检查了我的密钥,它们是正确的,我假设我的用户没有 cloudformation 访问权限。

我的问题是,是否可以在 yaml 文件中为我的用户设置权限?例如 cloudformation 完全访问、lambda 完全访问等。

您可以在下面找到我的函数和 yaml 文件:

handler.js

无服务器.yaml

0 投票
1 回答
5486 浏览

macos - 在无服务器框架中禁用 SLS_DEBUG=*

使用无服务器框架时(在 Mac OS X High Sierra 上),SLS_DEBUG环境变量设置为启用详细调试信息

问题:现在如何禁用它(除了移动到新终端)?export SLS_DEBUG=false没有成功。

0 投票
0 回答
87 浏览

css - AWS 无服务器部署 antd 注入不需要的内联 css

我有一个奇怪的问题。我有一个运行 react/redux 和节点的 aws 无服务器应用程序。我也在使用带有反应的 Ant 设计。

当我部署到 aws 时,正在注入内联 css(我认为)。

在我的本地机器上,以下代码:

产生:

但是一旦我部署到 aws,它会产生以下内容:

style="width: 195px;"已添加。这是抛弃我的设计。

我将如何解决这个问题?

更新 1

我意识到如果showTimeformat属性被删除,部署的 aws 渲染在没有注入的情况下表现如预期style="width: 195px;"

更新 2

所以这个style="width: 195px;"注入看起来很奇怪,所以我ant-design/ant-design在 github 上搜索了这个字符串。它出现了三个位置。

1) components/date-picker/ tests / snapshots / demo.test.js.snap

2)站点/主题/模板/Home/BannerImage.jsx

3) components/form/ tests / snapshots / demo.test.js.snap

似乎我必须弄清楚是什么原因导致添加该宽度。或者在渲染后找到一些方法来删除该样式(尽管这感觉是解决这个问题的错误方法)。

0 投票
4 回答
2687 浏览

amazon-web-services - 如何自动化我的无服务器 Web 应用程序的端到端测试?

所以我的应用程序堆栈在产品中看起来像这样:

  • 后端:AWS API Gateway + Lambda + DynamoDB + ElastiCache(redis)
  • 后端 - 算法:长时间运行的进程 - 在 ECS (Fargate) 上运行的 dockerized Java 应用程序
  • 前端:Angular 应用,由 S3 提供

我想使用https://www.cypress.io/进行端到端测试,我想使用https://circleci.com/作为我的构建服务器。

如何创建一个允许端到端测试运行的环境?

选项:

1) 每次运行端到端测试时,使用 Terraform 编写基础架构脚本并创建/拆除整个环境。就启动时间而言,这听起来像是一个巨大的开销。此外,完全脚本化的环境创建和设置听起来需要做很多工作!

2) 创建一个专用的、长期存在的环境,我们将逐步部署到该环境中。这听起来会变得一团糟——对于运行测试的地方来说并不理想。

3)制作它,以便我们可以在本地运行环境。所以也许使用 AWS 的SAM或类似这个项目的东西https://github.com/gertjvr/serverless-plugin-simulate

最后一个选项也可以回答本地开发环境设置的问题,但是在本地模拟无服务器技术的所有东西似乎都处于测试阶段,我担心如果我沿着这条路走下去,我可能会在投入大量时间后遇到一些问题。 ...

0 投票
1 回答
668 浏览

mysql - Aurora 无服务器未从 CLI 和 mysql workbrench 连接

我制作了一个 Aurora 无服务器集群并尝试使用命令从命令行连接它

但它无法连接并给出错误

我也尝试过使用 mysql 工作台,但不起作用。我检查了 VPC 组和安全组,并在任何地方为其提供了可访问的形式。

为了测试,我创建了具有相同 VPC 和安全组的无服务器 Aurora Rds,并且连接良好。

我们是否可以从本地 CLI 连接无服务器?如果是,那么需要任何改变吗?