在AWS lambda中运行两个docker容器



我知道您可以将docker容器上传到AWS lambda函数。有没有办法将两个docker容器映射到同一个lambda函数?这样一个接着一个执行。这将允许通过临时磁盘进行一些本地通信。

不幸的是,Lambda函数可能只能绑定到一个Docker映像。

有几种方法可以实现这种期望的功能:

如果不需要两个独立的lambda函数,则可以将项目分解为不同的文件,同时仍将所有内容封装在一个容器中。它可能看起来像这样:

project_name
|
--- Dockerfile
|
--- src
|
--- lambda_function.py
|
--- file1.py
|
--- file2.py

其中lambda_function.py包含从file1.pyfile2.py调用方法的处理程序。

如果你确实需要两个不同的Lambda,你有几个选择。首先,我建议在lambda 1和lambda 2之间建立一个API网关。通过这种方式,lambda 1可以对API发出curl请求,API将代表您调用第二个lambda。

另一种选择是Step Functions。它提供了一个很好的UI来设置Lambdas之间的交互方式。Step函数的缺点是,当您向混合中添加更多Lambda时,它很快就会变得难以管理。

最新更新