Mai*_*aik 5 amazon-web-services aws-lambda snowflake-cloud-data-platform
我正在运行一个AWS Lambda function使用一层的snowflake-connector-python.
要创建我使用的图层:
docker run -v <your dev directory>:/lambda -it --rm ubuntu
apt-get update
apt-get install python3-pip
apt-get install zip
cd lambda
mkdir -p temp/python
cd temp/python
pip3 install snowflake-connector-python -t .
cd ..
zip -r9 ../snowflake-connector-python.zip .
Run Code Online (Sandbox Code Playgroud)
lambda 返回:
"errorMessage": "Unable to import module 's3PutLambda': /lib64/libc.so.6: version `GLIBC_2.28' not found (required by /opt/python/cryptography/hazmat/bindings/_rust.abi3.so)",
"errorType": "Runtime.ImportModuleError",
"requestId": "baa60d07-c9bb-4b32-a38f-3158eb50da09",
"stackTrace": []
Run Code Online (Sandbox Code Playgroud)
我还尝试了一些其他解决方案,例如添加到 zip:
pip3 install cryptography==3.4.8
pip3 install bcrypt==3.2.2
Run Code Online (Sandbox Code Playgroud)
提出了同样的错误。
最后解决了,需要降级snowflake-connector-python版本并使用platform安装manylinux2010_x86_64。
pip除非您指定 Wheel 版本,否则从最新的 Wheel 安装软件包。我使用的 Python 库包比 Lambda 后端容器中运行时的库包更新。
如果您在安装连接器时指定了 Manylinux2010 平台,则可以解决该问题。
我使用的命令是:
pip3 install --platform manylinux2010_x86_64 --implementation cp --python 3.8 --only-binary=:all:
--upgrade --target . snowflake-connector-python==2.7.9
Run Code Online (Sandbox Code Playgroud)
Obs:
我没有用更高snowflake-connector-python版本测试过它,也没有用更高版本的 python 测试过。我在 中使用Python 3.8运行时AWS Lambda。
| 归档时间: |
|
| 查看次数: |
10459 次 |
| 最近记录: |