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

如何在AWS Lambda层添加awswrangler?解决模块导入错误

为AWS Lambda添加awswrangler层的方法

Lambda默认不包含awswrangler库,官方层列表也没有提供,因此需要自行构建兼容Lambda运行环境的层包,以下是两种可靠的实现方式:

方法一:用Docker构建(推荐,无需EC2)

这种方式通过模拟Lambda的运行环境打包,避免本地系统和Lambda环境的兼容性问题:

  • 创建临时目录并进入:
    mkdir awswrangler-layer && cd awswrangler-layer
    
  • 创建requirements.txt文件,内容为:
    awswrangler==3.4.0  # 可根据需求指定版本,不指定则安装最新版
    
  • 运行Docker命令安装依赖到Lambda层要求的目录结构(替换python3.11为你的Lambda函数使用的Python版本):
    docker run --rm -v "$PWD":/var/task public.ecr.aws/sam/build-python3.11 pip install -r requirements.txt -t python/lib/python3.11/site-packages/
    
  • 将依赖目录打包为zip文件:
    zip -r awswrangler-layer.zip python/
    
  • 上传并创建Lambda层:
    1. 打开AWS Lambda控制台,左侧导航选择「层」,点击「创建层」
    2. 输入层名称(如awswrangler-layer),上传刚才生成的zip包,选择匹配的Python运行时版本
    3. 点击「创建」完成层的创建
  • 为Lambda函数关联层:
    进入你的Lambda函数页面,在「层」模块点击「添加层」,选择刚创建的awswrangler层,保存配置即可。

方法二:在Amazon Linux 2实例上构建

如果无法使用Docker,可通过EC2模拟Lambda环境打包:

  • 启动一台Amazon Linux 2的EC2实例,通过SSH连接
  • 安装对应版本的Python和pip(以Python3.11为例):
    sudo amazon-linux-extras install python3.11
    pip3.11 install --upgrade pip
    
  • 创建符合Lambda层要求的目录结构:
    mkdir -p python/lib/python3.11/site-packages
    
  • 安装awswrangler到该目录:
    pip3.11 install awswrangler -t python/lib/python3.11/site-packages/
    
  • 打包依赖目录:
    zip -r awswrangler-layer.zip python/
    
  • 将zip包下载到本地,后续上传创建层、关联Lambda函数的步骤同方法一。

注意事项

  • 必须保证层的Python版本与你的Lambda函数运行时版本完全一致,否则会出现导入错误
  • 若使用awswrangler的特定功能,需确认版本兼容性,建议指定稳定版本进行安装

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 19:22:39