wit*_*ing 4 amazon-web-services aws-lambda amazon-dynamodb-streams
我有一个Lambda函数,该函数将多个DynamoDB流配置为事件源,这是更大的管道的一部分。在进行检查时,我发现下游组件之一缺少一些数据。我想编写一个更简单的Lambda函数,该函数被配置为前面提到的DynamoDB流之一的事件源。这将导致我的DynamoDB流之一具有从中读取的两个Lambda函数。我想知道是否可以?是否保证两个Lamdba函数都能接收流中放置的所有记录,并且我需要了解任何资源(读/写吞吐量)限制。在AWS网站上找不到与此相关的任何文档,但是我确实找到了有关分片处理的文档
要访问流并处理其中的流记录,必须执行以下操作:
- 确定您要访问的流的唯一Amazon资源名称(ARN)。
- 确定流中的哪个分片包含您感兴趣的流记录。
- 访问分片并检索所需的流记录。
注意:同一时间从同一Streams分片读取的数据最多不超过2个。每个分片有两个以上的读取器可能会导致节流。
不确定上述情况与将Streams配置为Lambdas的事件源的情况有什么关系,而不是使用API从Streams手动读取的情况。
此 AWS 博客文章https://aws.amazon.com/de/blogs/database/how-to-perform-ordered-data-replication-between-applications-by-using-amazon-dynamodb-streams/建议您附加只有一个 Lambda 到 DDB 流,并使用扇出模式进行并行处理。这将帮助您按顺序处理 DDB 项目。
您可以使用同一流作为事件源来使用多个Lambda。他们不会互相推断。但是,正如文档所述:“请注意,同一时间从同一Streams分片读取最多最多2个进程。每个分片具有2个以上的读取器可能会导致节流。” 因此,如果您大量使用流,则连接的Lambda不应超过两个。
| 归档时间: |
|
| 查看次数: |
4117 次 |
| 最近记录: |