我通过AWS得到了这个流程:
将文件放在S3上 - >触发器 - >将项目插入的lambda函数 DynamoDB - >看到我实际上有新的项目ove DynamoDB
虽然我将几个文件(大约5-10个)上传到S3(触发lambda调用),但在DynamoDB中查看预期结果需要时间。
似乎有一个队列在S3触发器的幕后进行处理。因为我上传了更多文件,那些以前没见过的文件现在作为DynamoDB中的项目呈现。
我的预期结果是在DynamoDB中看到每个文件在第二个文件中上传到S3时的新项目。
有没有办法使用任何配置来处理这个问题?
答案 0 :(得分:0)
我认为上述情况与Lambda中的“并发执行”有关,因为您尝试上传5-10个文件。
每个Lambda函数都分配有固定数量的特定功能 资源无论内存分配,每个功能都是 每个功能和每个分配固定数量的代码存储 帐户。
每个区域的AWS Lambda帐户限制= 100默认限制
Concurrent Executions - Refer Event Based Sources (e.g. S3)
您可以使用以下公式来估计并发的Lambda函数调用:
每秒事件(或请求)*功能持续时间
例如,考虑一个处理Amazon S3事件的Lambda函数。假设Lambda函数平均需要3秒,而Amazon S3每秒发布10个事件。然后,您将有30个并发执行Lambda函数。
增加限额: -
请参阅上面链接中的“请求同时执行的限制增加”部分。
AWS可能会自动提高您的并发执行限制 代表使您的功能与传入的事件速率匹配,如 从Amazon S3存储桶触发功能的情况。