AWS 无服务器:根据请求或 HTTP API 参数强制并行执行 lambda

AWS Serverless: Force parallel lambda execution based on request or HTTP API parameters

有没有办法强制 AWS 在特定执行环境中执行来自 API 网关资源的 Lambda 请求?我们在一个用例中,我们使用一个代码库和 100-300mb 的各种模型,所以它们本身足够小以适应临时存储,但太大而不能一起玩。

目前,使用不同模型的第二次调用将使用现有的(预热的)lambda 函数,并且 运行 存储空间不足。

我希望在强制 lambda 为每个模型创建相同函数的并行版本的请求中附加类似参数的内容,这样我们就不会 运行 超过 512 MB限制和优化冷启动时间,理想情况下无需复制功能并且不必在多个地方维护功能。

我曾尝试研究 Step Machines,但我不确定那里是否有基于参数的条件性选项。 AWS 建议使用 EFS 来规避临时存储限制,但据我所知,使用 EFS 比从临时 /tmp/ 目录读取要慢很多。

据我所知:没有。您无法控制执行环境。你唯一能做的就是限制并发执行。

所以您永远不知道,如果它是一个单一的 Lambda 服务于您从 API 网关或多个 运行 并行触发的所有事件。您也无法控制哪个执行环境正在为下一个请求提供服务。

如果您的问题是 AWS Lambda 的 /temp 目录限制,为什么不试试 EFS?