AWS lambda 函数中的 Numpy
Numpy in AWS lambda function
我已经安装了 pandas、numpy、s3fs 并创建了 zip 文件以添加为图层。添加了那个 zip 文件 s3 桶。但无法找到它需要的实际版本。使用 Python 3.7.9。
尝试使用 manylinux wheel 文件但出现不支持系统的错误。我想使用 pandas 从大尺寸(>2GB)的 s3 存储桶中读取多个 csv 文件。请让我知道我需要使用哪个版本。这些概念和代码适用于本地。
我正在研究 windows。不使用码头工人。只需安装包,创建 zip 文件,上传到 S3 存储桶。将 link 添加到 lambda 层。然后测试代码但面临版本问题。如果这些流程有误,请告诉我。
你可以看看at this git repo,它不仅提供了一个包含 numpy 的层,而且还提供了如何创建这样一个层的说明。你可能会在那里找到你需要的任何东西。
创建 lambda 层的最佳方法是使用 docker,如 AWS docs 中所述。因此,在您的情况下,您会做(linux 的命令):
创建空文件夹,例如mylayer
.
转到文件夹并创建 requirements.txt
文件,内容为
numpy
pandas
s3fs
- 运行
python3.8
的以下 docker 命令:
docker run -v "$PWD":/var/task "lambci/lambda:build-python3.8" /bin/sh -c "pip install -r requirements.txt -t python/lib/python3.8/site-packages/; exit"
- 创建压缩层:
zip -9 -r mylayer.zip python
在 AWS 控制台中基于 mylayer.zip
创建 lambda 层。不要忘记将 Compatible runtime
指定为 python3.8
。
将第 5 步中创建的图层添加到您的函数中。
我已经安装了 pandas、numpy、s3fs 并创建了 zip 文件以添加为图层。添加了那个 zip 文件 s3 桶。但无法找到它需要的实际版本。使用 Python 3.7.9。 尝试使用 manylinux wheel 文件但出现不支持系统的错误。我想使用 pandas 从大尺寸(>2GB)的 s3 存储桶中读取多个 csv 文件。请让我知道我需要使用哪个版本。这些概念和代码适用于本地。
我正在研究 windows。不使用码头工人。只需安装包,创建 zip 文件,上传到 S3 存储桶。将 link 添加到 lambda 层。然后测试代码但面临版本问题。如果这些流程有误,请告诉我。
你可以看看at this git repo,它不仅提供了一个包含 numpy 的层,而且还提供了如何创建这样一个层的说明。你可能会在那里找到你需要的任何东西。
创建 lambda 层的最佳方法是使用 docker,如 AWS docs 中所述。因此,在您的情况下,您会做(linux 的命令):
创建空文件夹,例如
mylayer
.转到文件夹并创建
requirements.txt
文件,内容为
numpy
pandas
s3fs
- 运行
python3.8
的以下 docker 命令:
docker run -v "$PWD":/var/task "lambci/lambda:build-python3.8" /bin/sh -c "pip install -r requirements.txt -t python/lib/python3.8/site-packages/; exit"
- 创建压缩层:
zip -9 -r mylayer.zip python
在 AWS 控制台中基于
mylayer.zip
创建 lambda 层。不要忘记将Compatible runtime
指定为python3.8
。将第 5 步中创建的图层添加到您的函数中。