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

调用认知人脸API出错:执行create_person.py时触发CognitiveFaceException

微软人脸识别API创建Person报错排查方案

我来帮你梳理下运行create_person.py user52时遇到的CognitiveFaceException问题,这类报错本质是API请求返回了非成功状态码,咱们一步步排查:

  • 第一步:确认Person Group ID的有效性
    这个报错最常见的原因是你传入的personGroupId不存在或者拼写错误(注意API对大小写敏感!)。你可以先加一段代码验证目标分组是否存在:

    from cognitive_face import CF
    import sys
    
    # 先确保已经配置好API密钥和端点
    CF.Key.set('你的API密钥')
    CF.BaseUrl.set('https://<你的区域>.api.cognitive.microsoft.com/face/v1.0/')
    
    # 列出所有已创建的Person Group
    existing_groups = CF.person_group.list()
    print("当前存在的Person Group:", existing_groups)
    

    运行这段代码后,检查你要用的personGroupId是否在输出列表里。

  • 第二步:验证API密钥与端点配置
    确认你的脚本开头已经正确设置了API密钥和区域端点:

    CF.Key.set('YOUR_VALID_API_KEY')
    # 端点要和你创建Person Group时用的区域一致,比如eastus、southeastasia等
    CF.BaseUrl.set('https://eastus.api.cognitive.microsoft.com/face/v1.0/')
    

    如果密钥无效或者区域不匹配,会直接返回401或404错误。

  • 第三步:检查命令行参数是否正确传递
    脚本里用sys.argv[1]获取用户名,你可以在脚本开头加一行调试代码,确认参数确实传进去了:

    import sys
    print(f"当前传入的用户名参数: {sys.argv[1]}")
    

    避免出现参数为空或者意外截断的情况。

  • 第四步:获取完整错误信息
    你给出的报错信息被截断了,CognitiveFaceException后面应该包含具体的状态码和错误描述(比如404、401等)。可以在脚本里捕获异常并打印完整信息:

    from cognitive_face.util import CognitiveFaceException
    
    try:
        res = CF.person.create(personGroupId, str(sys.argv[1]))
    except CognitiveFaceException as e:
        print(f"完整错误详情: {e}")
    

    不同状态码对应不同问题:

    • 401:API密钥无效或端点配置错误
    • 404:指定的Person Group不存在
    • 400:请求参数格式不符合要求
    • 429:API调用频率超限,需要等待或调整调用节奏
  • 第五步:检查API资源的配额与状态
    登录Azure控制台,查看你的人脸识别资源是否处于正常运行状态,配额是否足够(比如免费层有调用次数限制),有没有被临时限制访问。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 07:47:37