【问题标题】:DynamoDB trigger Lambda FunctionDynamoDB 触发 Lambda 函数
【发布时间】:2018-08-29 05:21:24
【问题描述】:

我有一个 dynamodb 表。每当我向表中添加新项目时,都会触发 lambda 函数,完成某些处理并更新新项目。它工作正常,但我想知道如果一次添加数千个项目会怎样。该函数是否会一次对所有项目执行?还是会排队执行?

【问题讨论】:

    标签: amazon-web-services aws-lambda amazon-dynamodb aws-sdk


    【解决方案1】:

    来自Managing Concurrency,AWS Lambda 官方文档

    函数会根据传入请求率自动扩展

    因此,这意味着如果请求是并发的,那么为了处理这些请求,同一函数的多个实例将执行。一些请求可能会排队。

    也来自相同的文档,

    默认情况下,AWS Lambda 将给定区域内所有函数的并发执行总数限制为 1000。

    【讨论】:

    • 在我的研究中,我多次遇到“lambda workers”...我需要设置 lambda workers 来管理 dynamodb 流吗?
    • @ManojAcharya 你能分享你读到这个词的文件吗?根据我的经验,除了 Lambda 函数本身之外,您不需要设置任何其他内容。
    • 那我一定是误会了!!感谢您的热心帮助。
    【解决方案2】:

    假设每次执行需要 1 秒或更长时间才能完成,Lambda 有 100 次并行 Lambda 执行。

    因此 Lambda 一次可以管理多个执行。

    【讨论】:

      【解决方案3】:

      来自Understanding Scaling Behavior

      对于处理 Kinesis 或 DynamoDB 流的 Lambda 函数, 分片数是并发单位

      分片数量取决于您的分区键基数。例如,如果你的分区键基数是 2,那么你只有两个分片,你的 lambda 并发是 2。

      请记住,您无法显式控制多个分片。 This is a related question

      【讨论】:

        猜你喜欢
        • 2021-12-28
        • 2020-02-27
        • 2023-01-02
        • 1970-01-01
        • 2019-04-26
        • 1970-01-01
        • 2019-08-02
        • 2019-01-07
        • 2021-01-24
        相关资源
        最近更新 更多