AWS CLI命令报错求助:Windows下Rekognition index-faces语法问题
Windows下AWS Rekognition index-faces命令参数解析错误解决方法
问题根源
Windows命令提示符(CMD)和PowerShell对引号、JSON格式的解析逻辑与Linux/macOS的Bash存在差异,这是导致参数解析错误的核心原因。
正确命令语法
1. 命令提示符(CMD)环境
需将JSON参数用双引号包裹,内部的键值对双引号需用反斜杠\转义,示例:
aws rekognition index-faces --collection-id "你的集合ID" --image "{\"S3Object\":{\"Bucket\":\"你的存储桶名称\",\"Name\":\"你的图片文件名.jpeg\"}}" --detection-attributes "ALL"
2. PowerShell环境
可直接用单引号包裹整个JSON字符串(PowerShell不会解析单引号内部的内容),示例:
aws rekognition index-faces --collection-id "你的集合ID" --image '{"S3Object":{"Bucket":"你的存储桶名称","Name":"你的图片文件名.jpeg"}}' --detection-attributes "ALL"
或者使用Here-String提升可读性:
$imageJson = @" {"S3Object":{"Bucket":"你的存储桶名称","Name":"你的图片文件名.jpeg"}} "@ aws rekognition index-faces --collection-id "你的集合ID" --image $imageJson --detection-attributes "ALL"
问题排查方向
- 占位符替换检查:错误信息中的
{S3Object:{Bucket:,Name:.jpeg}}显示Bucket为空、Name仅含后缀,确认已将教程中的占位符替换为真实的存储桶名称和图片文件名。 - JSON格式验证:确认JSON结构合法,所有键名和值都用双引号包裹(除数字/布尔值),无语法错误。
- AWS CLI版本更新:运行
aws --version查看版本,旧版本可能存在Windows参数解析bug,执行aws-cli update(或重新下载MSI安装包)更新至最新版。 - 基础连通性测试:先执行
aws rekognition list-collections验证CLI能正常连接AWS服务,排除权限、网络等非参数问题。
内容的提问来源于stack exchange,提问作者Trevor K
相关产品推荐
相关产品推荐

