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

在AWS Lambda调用Rekognition的create_face_liveness_session报错求助

解决Rekognition调用create_face_liveness_session()出现AttributeError的问题

问题根源

你碰到的AttributeError: 'Rekognition' object has no attribute 'create_face_liveness_session'错误,核心原因是当前Lambda运行环境里的Boto3版本太低,不支持这个新的人脸活体检测API方法。

create_face_liveness_session是Rekognition较新推出的接口,只有Boto3版本≥1.26.0(对应botocore版本≥1.29.0)的环境才会包含这个方法。但Lambda默认运行时(比如Python 3.9/3.10)预装的Boto3版本往往还没更新到这个要求。

解决方案

1. 用Lambda层部署新版Boto3

  • 本地建Python虚拟环境,安装指定版本的Boto3:
    python -m venv boto3-layer
    source boto3-layer/bin/activate
    pip install boto3>=1.26.0 -t python/lib/pythonX.X/site-packages/
    # 把X.X换成你Lambda用的Python版本,比如3.9
    
  • 把python目录打包成zip,上传到Lambda层,再关联到你的函数上。

2. 使用Lambda容器镜像

如果需要更灵活的依赖管理,可以自己构建包含最新Boto3的容器镜像:

  • 写Dockerfile指定基础镜像,安装最新Boto3:
    FROM public.ecr.aws/lambda/python:3.11
    COPY requirements.txt .
    RUN pip install -r requirements.txt --target "${LAMBDA_TASK_ROOT}"
    COPY app.py ${LAMBDA_TASK_ROOT}
    CMD ["app.lambda_handler"]
    
  • 在requirements.txt里加boto3>=1.26.0,然后构建镜像推送到ECR,配置Lambda用这个镜像。

3. 先验证客户端版本

在代码里加几行检查当前Boto3版本和可用方法:

import boto3
print("Boto3版本:", boto3.__version__)
client = boto3.client('rekognition')
print("Rekognition客户端可用方法:", dir(client))

运行后看输出的版本号,如果低于1.26.0,肯定要升级依赖。

额外提醒

  • 确保你的Lambda执行角色有rekognition:CreateFaceLivenessSession权限,不然解决版本问题后可能会碰到权限错误。
  • 确认你的AWS区域支持人脸活体检测服务,不是所有区域都能用到这个功能。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 04:42:47