当前位置: 首页 > 知识库问答 >
问题:

单个DynamoDB流上的多个AWS Lambda函数

孙元明
2023-03-14

我有一个Lambda函数,将多个DynamoDB流配置为事件源,这是更大管道的一部分。在进行检查时,我在一个下游组件中发现了一些缺失的数据。我想编写一个更简单的Lambda函数,将其配置为前面提到的DynamoDB流之一的事件源。这将导致我的一个DynamoDB流有两个Lambda函数从中读取。我想知道这样可以吗?这两个Lamdba函数是否都能保证接收流中的所有记录,是否有任何需要注意的资源(读/写吞吐量)限制。在AWS网站上找不到任何相关文档,但我确实找到了关于碎片处理的文档

要访问流并处理其中的流记录,您必须执行以下操作:

  • 确定要访问的流的唯一Amazon资源名(ARN)

注意最多不应有两个进程同时从同一个Streams分片中读取。每个分片有两个以上的读取器可能会导致限制。

不确定上述内容与将流配置为lambda的事件源而不是使用API手动读取流的情况有何关系。

共有2个答案

裴浩歌
2023-03-14

这篇AWS博客文章https://aws.amazon.com/de/blogs/database/how-to-perform-ordered-data-replication-between-applications-by-using-amazon-dynamodb-streams/建议您只将一个Lambda连接到DDB流,并使用扇出模式进行并行处理。这将帮助您按顺序处理DDB项目。

诸葛品
2023-03-14

可以有多个lambda使用同一个流作为事件源。他们不会互相干扰。但正如文档所述:“注意,最多不应同时从同一个流碎片读取2个进程。每个碎片有2个以上的读卡器可能会导致节流。”因此,如果您大量使用流,则连接到它们的lambda不应超过两个。

 类似资料:
  • 我有一个Lambda函数,它将DynamoDB流消息推送到SNS。如果我把批量大小设为10,它可以合并两个不同流的记录吗? 例如:Stream1有一个由2个对象组成的数组,Stream2也有一个由2个对象组成的数组。如果我将批大小设置为10,lambda会创建2个批(每个流一个),还是将两个流的对象合并并将它们放在单个批下。假设两条流同时到达Lambda。

  • 如果我有一个具有多个DynamoDB Stream触发器的Lambda函数,是否可以保证每个Lambda调用只包含来自一个表的记录?

  • 问题内容: 单个主机上的多个glibc库 我的Linux(SLES-8)服务器当前具有glibc-2.2.5-235,但是我有一个无法在该版本上运行的程序,并且需要glibc-2.3.3。 是否可以在同一主机上安装多个glibcs​​? 这是我在旧glibc上运行程序时遇到的错误: 因此,我创建了一个名为newglibc的新目录,并将以下文件复制到其中: 和 但是我得到一个错误: 如此看来,它们仍

  • 问题内容: 是否可以实现这样的代码:- 我有两个数组,我想在单行中显示它们。 PS:我不要求语法。我正在寻找实现这一目标的逻辑 谢谢 就像:-“ http://jsfiddle.net/6ob5bkcx/1/ ” 问题答案: 您应该在控制器中而不是在视图中执行此操作。将dataValues映射到键/值对对象,并使用索引引用values数组。假定每个数据键都有一个对应的值键。 控制器: 视图:

  • 我在dynamoDB中有带分区键和范围键的表。 表结构 现在,我想使用C#库在多个扫描条件下从表中检索数据。 Hashkey=123 条件1;日期在“某个日期1”和“某个日期2”之间 条件2。范围键begins_with I_和p_ 有什么方法可以使用C#dynamoDB API实现这一点吗?请帮忙

  • 我必须提取两个值(最小