我的aws lambda运行正常。但是,我需要在本地运行该函数,并且想知道最好的方法是什么。它必须使用docker
在docker-compose
内运行。
我的第一种方法是使用localstack
,但结果却很慢。 docker-lambda
似乎也不是一个选项,因为它将只运行一次函数,而我需要运行一个容器,以便可以随时运行处理程序。
我现在的想法是编写一个简单的服务器来接受“调用”并执行实际的处理程序。有解决这个问题的更好方法吗?
答案 0 :(得分:0)
如果设置环境变量LAMBDA_EXECUTOR=docker-reuse
,则它将重新使用lambda容器进行后续调用,并显着加快了速度(不过,旋转时的第一次调用仍然很慢)。
问题在于,默认情况下,它会在每次调用时启动并关闭lambda,这很慢。
此解决方案的唯一问题是,如果您想热重装lambda代码,它将不会自动重装容器。