Azure Form Recognizer训练报错:InvalidContentSourceFormat问题求助
Azure Form Recognizer训练报错
InvalidContentSourceFormat排查与解决 核心排查方向
1. 内容源路径与权限问题
- 确认存储账户Blob容器权限:若用Azure Blob存储作为内容源,容器需设为
容器或Blob级公共访问(未使用SAS令牌时);若使用SAS令牌,需确保令牌包含读取和列出权限且有效期未过期。 - 检查内容源URL格式:指向Blob容器的URL需为
https://<存储账户名>.blob.core.windows.net/<容器名>格式,无多余路径参数或拼写错误;SAS URL不能有多余空格或特殊字符。
2. 训练数据文件问题
- 核对文件类型与数量:Form Recognizer支持PDF、JPG、PNG、TIFF等格式,确保所有文件在支持列表内;训练数据集至少需要2个同类型文件,单文件无法启动训练。
- 排查损坏文件:逐个打开训练数据文件,确认无加密、损坏、无法打开的情况;可尝试移除部分文件后重试,定位是否由特定文件引发问题。
- 规范文件名与路径:文件名和Blob路径避免中文、空格、
#、?等特殊字符,建议用英文小写字母、数字和短横线组合命名。
3. 资源配置与API版本问题
- 确认Form Recognizer资源SKU层级:免费层(F0)有调用次数和训练时长限制,数据量较大时建议切换到标准层(S0)重试。
- 检查API版本:使用与官方文档一致的训练API版本(推荐
2023-07-31或更高),旧版本可能存在格式兼容性问题。
验证与测试步骤
- 手动验证内容源可访问性:用浏览器或
curl命令访问内容源URL(含SAS则直接访问),确认能正常列出或下载文件。 - 简化测试数据集:用2-3个确认无问题的样本文件创建新Blob容器,重新配置内容源发起训练,验证是否能成功运行。
- 检查训练请求参数:若通过API发起训练,确认请求体中
source参数格式正确,无多余引号或转义字符,示例请求体如下:
{ "source": "https://<存储账户名>.blob.core.windows.net/<容器名>?<SAS令牌>", "sourceFilter": { "prefix": "train/" }, "useLabelFile": false }
内容的提问来源于stack exchange,提问作者Guillermo López Gómez
相关产品推荐
相关产品推荐

