问题标签 [middy]

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

aws-lambda - 如何使用 Middy 与招摇

我对使用 Middy 框架很陌生,我想知道我们如何自动生成 swagger 文档。

另一种解决方法是创建一个 swagger 文件,在其中我使用代码生成 swagger 文档,然后提供一个 lambda 函数来显示我们的 swagger-UI 页面。

如果有人也可以向我指出任何资源,我将不胜感激。

0 投票
1 回答
61 浏览

node.js - 通过 middy 包装器访问 LaunchDarkly 时,我的 Lambda 挂起

我们使用 Middy 作为我们所有 lambdas 的包装器来处理一些日志记录和检测逻辑,这很棒。我们还使用 LaunchDarkly (launchdarkly-node-server-sdk) 来无服务器访问功能标志,遵循此处提出的基本选项 1 。那也很棒。

现在,尝试将这些方法结合起来用于处理流事件的新 lambda 函数,我遇到了一个问题,即 lambda 可以正常调用,但只有一次,然后挂起。当它超时时,调用被视为失败,并且该事件永远不会从流中删除,从而导致每 120 秒对同一事件进行新的调用。需要明确的是,造成问题的不是装饰品之一,而是它本身。

所以这有效:

但这挂起:

0 投票
2 回答
273 浏览

javascript - 使用 middy 时如何对处理函数进行单元测试

我在 middy 中使用 http 请求函数作为处理函数,然后在发起 http 请求之前使用 ssm 中间件获取一些 ssm 参数。像这样:

然而,在我开玩笑的单元测试中,我试图模拟 makeThirdPartyServiceRequest 并明确表示它应该解析为一个值:

然后在测试中我说:

但是由于某种原因,仍然在调用 middy 中间件,这显然是我不想要的,我试图嘲笑......我做错了什么?

0 投票
1 回答
51 浏览

aws-lambda - middy-ssm 没有对 lambda 的执行角色进行更改

我们middy-ssm用于在 lambda 初始化期间获取和缓存 SSM 参数值。我们遇到了一种情况,即 lambda 的执行角色无权SSM::GetParameters在它尝试获取的路径上执行。我们更新了关于角色的策略以允许访问,但似乎 lambda 函数从未获取权限更改,而是由于缺少权限而一直失败,直到生命周期结束(接近 1 小时,因为请求不断到来给它)。

然后我做了一个测试,我直接使用 aws-lambda SDK 和 middy-ssm 来获取参数。最初 lambda 角色没有权限,两种方法都失败了。我们更新了策略,几分钟后,使用 SDK 的代码能够检索参数,但 middy 中间件一直失败。

我试图解释 middy-ssm 的实现,以确定错误结果是否以某种方式被缓存或那里发生了什么,但无法真正查明问题所在。欢迎任何关于如何克服这个问题的见解和/或建议!谢谢!

0 投票
2 回答
77 浏览

node.js - 在 nodejs 中扩展 middy 中间件功能

在我用 nodejs 编写的 lambda 代码中,我想扩展httpErrorhandler中间件并围绕它创建一个包装器。

目前我有类似下面的东西。

我想创建一个customHttpErrorHandler只是外面的包装器httpErrorHandler

这可能吗?我需要在 customHttpErrorHandler 里面放什么?没有要实现的附加功能。这个新customHandler的应该只是将控制传递给 standard httpErrorHandler

customHttpErrorHandler可能如下所示(伪代码)。

0 投票
1 回答
14 浏览

node.js - NodeJs,AWS,从 lambda 如何使用 AWS SDK V3 读取 S3 存储桶的文件内容

使用 AWS SDK 版本 3,如何从基于 nodejs 的 lambda 读取 S3 存储桶文件?我正在创建这个以供我将来参考。