1 回答
- 最新
- 投票最多
- 评论最多
0
【以下的回答经过翻译处理】 您好,robbe,
我认为导致错误的原因是Lambda无法找到模块“charset_normalizer”。我认为您可以通过为Lambda创建一个layer来解决它。尝试按照以下步骤操作:
- 前往 pypi charset-normalizer 下载页面:https://pypi.org/project/charset-normalizer/#files
- 下载所需 Python 版本的 whl 文件 x86_64(例如 charset_normalizer-3.0.1-cp311-cp311-musllinux_1_1_x86_64.whl)。您需要检查package的兼容版本与Lambda函数的运行时相匹配。
- 创建一个名为“python”的文件夹,请不要使用“python”以外的其他名称,因为它不会起作用。
- 将所有从 whl 中提取的文件移动到“python”文件夹中。
- zip压缩此“python”文件夹。
现在您可以上传zip文件到Lambda,通过按照以下步骤创建layer:
- 进入 Lambda
- 在左侧窗格中转到“其他资源”->“Layers”。
- 单击右侧的“创建Layer”。
- 给您的layer命名
- 上传您创建的zip文件
- 在“兼容架构”中选择 x86_64
- 在“兼容运行时”中选择您在 Lambda 函数中使用的code runtime
- 单击“创建”
现在您可以将Layer添加到您的 Lambda 中:
- 转到 Lambda 函数
- 向下滚动到底部,直到看到“Layers”banner界面
- 单击“添加层”
- 选择“自定义层”
- 在下拉菜单中选择之前创建的层名称
- 在“版本”下拉菜单中选择层的版本
- 单击“添加”
现在可以再次测试您的函数,看是否错误已经被解决。
如果我的回答不够清晰,您也可以参考这篇来自medium的文章,文章里解释了如何为Lambda创建包含pandas和numpy的layer, 希望可以帮到您。: < https://medium.com/@shimo164/lambda-layer-to-use-numpy-and-pandas-in-aws-lambda-function-8a0e040faa18>
相关内容
- AWS 官方已更新 8 个月前