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

AWS Lambda正常运行但Lambda@Edge报错:无法导入pyjwt模块

问题排查与解决方案
  • 确认Lambda@Edge代码包的同步与依赖完整性
    虽然控制台测试正常,但Lambda@Edge会将函数复制到全球边缘节点,删除关联后可能存在缓存残留。重新执行依赖安装与打包:在代码目录下运行pip install pyjwt -t ./,确保pyjwt依赖被安装到当前目录,然后将所有文件(包括你的app.py和生成的依赖文件夹)打包成zip,重新上传到Lambda函数。之后重新关联到CloudFront,等待5-10分钟让边缘节点完成同步。

  • 核对运行时环境与依赖版本
    确保本地打包使用的Python版本和Lambda配置的运行时完全一致(比如均为3.9或3.10),不同版本的依赖包可能存在兼容性问题导致导入失败。如果使用了Lambda层,检查层是否包含pyjwt,且层的运行时与函数匹配,必要时重新打包层并更新关联。

  • 验证代码包结构
    下载Lambda函数的代码包并解压,检查根目录下是否存在jwt文件夹和pyjwt-*.dist-info目录。如果缺失,说明打包时未正确包含依赖,重新执行打包步骤,注意不要将文件嵌套在子文件夹中,Lambda需要直接从根目录读取app.py和依赖文件。

  • 排查CloudFront配置缓存
    尝试创建一个全新的CloudFront分发,关联重新打包后的Lambda函数,测试是否能正常运行,以此排除原有分发的配置缓存或关联冲突问题。同时确认缓存行为中触发Lambda@Edge的事件类型(如Viewer Request)配置正确。

  • 查看边缘节点日志
    前往CloudWatch日志,找到Lambda@Edge关联的边缘区域日志组,查看详细错误信息,可能会发现隐藏的依赖缺失问题(比如pyjwt依赖的cryptography等包未被包含)。

内容的提问来源于stack exchange,提问作者Danny Ellis Jr.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 03:27:50