2

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

的这对于处理

内访问流和处理流的记录,你必须做 如下:

  • 确定您要访问的流的唯一Amazon资源名称(ARN)。
  • 确定流中的哪个分片包含您感兴趣的流记录。
  • 访问分片并检索所需的流记录。

注意最多不要超过2个进程应该同时从同一个 流中读取数据。每个分片有多于2个读卡器 可能导致节流。

不确定上述情况如何与将Streams配置为Lambdas的事件源相比,而不是使用API​​手动读取Stream的情况。

+0

当你在这里提到两个lambda时,你是指同一个lambda函数的多个实例还是两个lambda函数做不同的事情? – shrewquest

回答

2

您可以将多个Lambda使用相同的流作为事件源。他们不会相互推断。但正如文档所述:“注意最多同时应从同一个Streams碎片中读取不超过2个进程,每个碎片超过2个读取器可能导致节流。” 因此,如果你严重利用你的流,你不应该有超过两个Lambdas连接到他们。