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

调用StartFaceLivenessSessionCommand遇headers.trim()类型错误求助

TypeError: headers[headerName].trim is not a function when using StartFaceLivenessSessionCommand with Node.js Readable Stream

我在使用@aws-sdk/client-rekognitionstreaming(v3.825.0)调用StartFaceLivenessSessionCommand时,触发了TypeError: headers[headerName].trim is not a function错误。这个问题出在传入Node.js Readable流作为RequestEventStream参数的时候。之前尝试使用WHATWG ReadableStream时,遇到了“Eventstream payload must be a Readable stream”错误,因此改用了Node.js Readable流。

错误信息显示SDK尝试对非字符串类型的请求头值调用.trim()方法,推测问题出在自定义中间件或者@smithy/signature-v4的请求签名过程中。我已经尝试了序列化事件为JSON、使用@aws-sdk/eventstream-serde-node、调整请求头等多种方案,但问题仍然没有解决。

环境信息

  • Node.js版本:v22.16.0
  • 操作系统:Windows 11
  • AWS SDK包版本:所有相关包均为3.825.0(包括rekognition、rekognitionstreaming等),@aws-sdk/eventstream-serde-node为3.370.0
  • AWS区域:us-east-1

复现步骤

  1. 配置拥有Face Rekognition全权限及AssumeRole权限的AWS凭证
  2. 执行npm install安装依赖
  3. 运行node start启动脚本

已尝试的解决步骤

  • 从WHATWG ReadableStream切换为带有objectMode: true的Node.js Readable流
  • 将事件序列化为JSON并转换为Uint8Array
  • 使用@aws-sdk/eventstream-serde-node的createEventStream方法序列化流
  • 添加中间件标准化请求头
  • 验证视频格式、IAM权限等配置

实际行为

脚本可以成功创建活体检测会话、从S3下载视频,但在调用StartFaceLivenessSessionCommand时触发上述类型错误。

预期行为

成功建立流式会话,完成活体检测并返回结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 22:42:06