You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Lambda部署Snowflake连接器Layer遇cryptography依赖错误求助

解决Snowflake Connector Layer在Lambda中导入时的cryptography错误
  • 降级cryptography到兼容版本
    cryptography 41.x版本的Rust绑定与Lambda运行时的底层OpenSSL库存在兼容性问题。安装Snowflake连接器时强制指定兼容的cryptography版本(如39.0.1,经大量Lambda场景验证可行):

    pip install snowflake-connector-python==3.6.0 cryptography==39.0.1 -t python/ --no-deps
    

    加--no-deps可避免pip自动拉取高版本依赖,确保依赖版本完全可控。

  • 使用Lambda官方构建镜像
    你当前使用的Amazon Linux 2023镜像与Lambda实际运行时环境存在底层库差异,改用Lambda官方提供的构建镜像能彻底消除环境不匹配问题:

    1. 拉取匹配Python 3.9的构建镜像:
      docker pull public.ecr.aws/sam/build-python3.9
      
    2. 挂载本地目录并在容器内安装依赖:
      docker run -v "$PWD":/var/task public.ecr.aws/sam/build-python3.9 pip install snowflake-connector-python==3.6.0 -t python/
      
  • 检查Layer目录结构
    Lambda Layer要求Python依赖必须放在根目录下的python/文件夹内,打包后的ZIP包结构应为:

    your-layer.zip
    └── python/
        └── snowflake/
        └── cryptography/
        ...
    

    确保安装时-t参数指定的是python/目录,避免依赖路径错误导致Lambda无法识别模块。

  • 补充构建环境的编译依赖
    在Amazon Linux 2023中构建时,先安装必要的编译工具,确保cryptography能正确编译适配环境的绑定文件:

    yum install -y gcc openssl-devel python3-devel
    

    完成后再执行pip安装命令,避免因缺失编译依赖导致Rust绑定文件不完整。

内容的提问来源于stack exchange,提问作者Danail

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 08:07:48