大纲:我需要scikit-image在一些 AWS lambda 函数中使用,所以我希望构建一个包含scikit-image.
我的问题一般应该适用于任何 python 模块,特别是 scikit-learn,或者我认为一般的任何自定义层。
背景:经过大量谷歌搜索和阅读后,似乎最好的方法是使用 docker 在本地运行 AWS lambda 运行时,然后在那里安装/编译 scikit-image(或您正在寻找的任何模块)。完成后,您可以将其作为自定义层上传/安装到 AWS。
这在概念上非常简单,但我正在努力使用最佳实践方法来做到这一点。我已经完成了这项工作,但不确定我是否以最好/正确/最佳/安全的方式做这件事…… 有数百万篇关于此的完全不同的博客文章,AWS 文档本身也是(恕我直言)详细但略过一些基本问题。
我一直试图基本上遵循两个很好的中等职位,这里和这里......对这些人的敬意。
我的主要问题是:
对于所谓的最新图像,有多个(甚至在亚马逊本身)多个位置/版本等。例如https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html或https://cdn.amazonlinux.com/os-images/2.0.20190823.1/。
..这忽略了大量非亚马逊 github 托管的可能性,例如lambci/lambda:build-python3.6来自此处的中等帖子或onema/amazonlinux4lambda来自此处。
为了安全性和最新性,我更喜欢使用亚马逊提供的 docker 镜像。