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

搭建AWS Lambda匹配开发环境以解决部署报错问题

解决AWS Lambda部署SeleniumWire时的_cffi_backend缺失问题

一、搭建Lambda兼容验证环境(EC2方案)

Lambda基于Amazon Linux 2(x86_64)运行,EC2是最精准的匹配环境:

  • 启动EC2实例:选择Amazon Linux 2 AMI (x86_64),实例类型选t2.micro(免费额度覆盖),安全组开放SSH端口
  • 远程连接实例后,安装Lambda对应版本的Python(以3.9为例):
    sudo amazon-linux-extras install python3.9
    sudo alternatives --set python3 /usr/bin/python3.9
    
  • 配置虚拟环境并安装依赖:
    python3.9 -m venv lambda-env
    source lambda-env/bin/activate
    pip install seleniumwire cffi
    
  • 上传并验证代码:将本地lambda_function.py上传至实例,直接运行测试是否报错:
    python lambda_function.py
    

二、在EC2内生成兼容部署包

验证代码正常后,直接在EC2环境打包:

  • 进入虚拟环境的依赖目录:
    cd lambda-env/lib/python3.9/site-packages/
    
  • 打包所有依赖与代码:
    zip -r9 ~/lambda-deploy.zip .
    cd ~
    zip -g lambda-deploy.zip lambda_function.py
    
  • 将lambda-deploy.zip下载到本地,上传至Lambda即可

三、Docker替代方案(强制x86_64架构)

若偏好Docker,需指定x86_64架构的Amazon Linux 2镜像,避免ARM兼容问题:

  • 启动容器:
    docker run -it --platform linux/amd64 amazonlinux:2 bash
    
  • 在容器内重复EC2的Python安装、依赖配置、代码验证步骤,完成后打包并拷贝出部署包

关键注意事项

  • 所有依赖必须是x86_64架构编译产物,ARM环境安装的依赖无法在Lambda运行
  • 验证时需模拟Lambda执行逻辑:直接调用lambda_function.lambda_handler方法
  • 若cffi问题仍存在,可指定安装稳定版本:
    pip install cffi==1.15.1
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 12:15:33