将文件放入S3触发它们需要延迟

时间:2016-11-28 08:54:46

标签: amazon-web-services amazon-s3 lambda amazon-dynamodb

我通过AWS得到了这个流程:

  

将文件放在S3上 - >触发器 - >将项目插入的lambda函数   DynamoDB - >看到我实际上有新的项目ove DynamoDB

虽然我将几个文件(大约5-10个)上传到S3(触发lambda调用),但在DynamoDB中查看预期结果需要时间。

似乎有一个队列在S3触发器的幕后进行处理。因为我上传了更多文件,那些以前没见过的文件现在作为DynamoDB中的项目呈现。

我的预期结果是在DynamoDB中看到每个文件在第二个文件中上传到S3时的新项目。

有没有办法使用任何配置来处理这个问题?

1 个答案:

答案 0 :(得分:0)

我认为上述情况与Lambda中的“并发执行”有关,因为您尝试上传5-10个文件。

  

每个Lambda函数都分配有固定数量的特定功能   资源无论内存分配,每个功能都是   每个功能和每个分配固定数量的代码存储   帐户。

每个区域的AWS Lambda帐户限制= 100默认限制

Limits

Concurrent Executions - Refer Event Based Sources (e.g. S3)

您可以使用以下公式来估计并发的Lambda函数调用:

  

每秒事件(或请求)*功能持续时间

例如,考虑一个处理Amazon S3事件的Lambda函数。假设Lambda函数平均需要3秒,而Amazon S3每秒发布10个事件。然后,您将有30个并发执行Lambda函数。

增加限额: -

请参阅上面链接中的“请求同时执行的限制增加”部分。

  

AWS可能会自动提高您的并发执行限制   代表使您的功能与传入的事件速率匹配,如   从Amazon S3存储桶触发功能的情况。