需要帮助为 Python 3.12 和 pyodbc 创建 AWS Lambda 层

问题描述 投票:0回答:1

我正在尝试使用 Python 3.12 和 pyodbc 创建 AWS Lambda 层。我见过几个不同的网站,他们使用旧版本的 Python,当我尝试转换为 3.12 时,它惨遭失败。无论我如何构建要上传的 zip 文件,当我单击按钮来测试我的 Lambda 时函数,它告诉我找不到 pyodbc。

最后,我的目标是拥有一个使用 Python 3.12 的 Lambda 层,它允许我与非 RDS 的 MS SQL Server 数据库进行通信。

任何帮助和见解将不胜感激。

我尝试过使用 docker,但是一旦进入,我似乎唯一的下载功能就是使用 dnf,它没有 libodbc.so.2。 Docker 还缺少 dpkg、yum 和/或 apt-get 等关键功能。我尝试拉下一些已经打包的版本(主要是 Python 3.8),但 msodbcsql 和 unixODBC 的文件似乎不匹配。我也尝试过构建 pymssql,但也没有成功。

pyodbc aws-lambda-layers python-3.12
1个回答
0
投票

我看到的一些建议说 Lambda 层不需要 init.py 文件,因为 AWS Linux 运行时加载路径,并且我认为我为 Py3.11 及之前版本创建的 Lambda 层已经得到了没有任何。但对于 Py3.12,我发现它们对于自定义 Lambda 层中的 Python 包是绝对必要的。作为一个示例,我如何在 Windows 计算机上获取 AWS arm64 Lambda 所需的 Python 包:

pip install --platform manylinux_2_17_aarch64 --only-binary=:all: --target="C:/aws/lambda_layers/py312/python"
© www.soinside.com 2019 - 2024. All rights reserved.