ubuntu 在aws lamda中通过添加雪花连接器依赖项作为层来使用雪花

qvtsj1bj  于 2022-11-22  发布在  其他
关注(0)|答案(1)|浏览(135)

我尝试将snowflake-connector-python版本2.7.9添加为aws lambda中的一个层。我得到此错误Unable to import module lambda_function: /lib64/libc.so.6: version GLIBC_2.28 not found (required by /opt/python/lib/python3.9/site-packages/cryptography/hazmat/bindings/_rust.abi3.so)
步骤我试过docker run -v /Users/local/Documents/docker_test:/working -it --rm ubuntu
一进去我就试着

  1. apt-get update
    1.然后使用链接https://exchangetuts.com/how-to-install-python39-on-linux-ubuntu-terminal-1639972230035814安装python 3.9
  2. apt install python3-virtualenv
    1.虚拟环境雪花测试
    1.源雪花_test/bin/activate
  3. python3 --版本
  4. sudo要安装python3-pip
  5. python3 -m pip 3安装--升级管道
  6. sudo apt-获取安装-y libssl-开发libffi-开发
  7. mkdir -p lambda_layers/python/库/python3.9/站点包
    1.文件名://_________________
  8. pip 3安装雪花连接器。
    然后我压缩/python/lib/python3.9/site-packages的内容,并在aws中创建一个层。
import json
import snowflake.connector

def lambda_handler(event, context):
    # TODO implement
    return {
        'statusCode': 200,
        'body': json.dumps('Hello from Lambda!')
    }

我必须做的一些事情才能得到这个错误
1.我不得不安装cffi,因为我得到No module named '_cffi_backend'
1.不得不删除cyrptography dependecies,因为我有版本36,并重新安装再次获得38

  1. python3-virtualenv似乎也安装了python3.10.x版本。因此docker映像同时具有python3.10和3.9。Snowflake文档说它只适用于3.9。我将添加的别名更改为pythonpython3,以指向python3.9
    如何修复此错误/lib64/libc.so.6: version GLIBC_2.28
fzwojiic

fzwojiic1#

我有一个类似的问题,不得不在lambda层指定一个旧的加密版本(pip install cryptography ==3.4.8)。对我来说,这解决了这个问题,希望这也能帮助你!

相关问题