对架构验证失败错误进行故障排除
本文帮助解决用户在使用 Azure 机器学习 v2 CLI 期间针对 YAML 文件提交 create 或 update 命令后可能遇到的所有类别的“架构验证失败”错误。 可能生成此错误的命令列表包括:
创建
az ml job create
az ml data create
az ml datastore create
az ml compute create
az ml batch-endpoint create
az ml batch-deployment create
az ml online-endpoint create
az ml online-deployment create
az ml online-deployment create
az ml component create
az ml environment create
az ml model create
az ml connection create
az ml schedule create
az ml registry create
az ml workspace create
更新
az ml online-endpoint update
az online-deployment update
az batch-deployment update
az datastore update
az compute update
az data update
症状
当用户使用 Azure 机器学习 v2 CLI 通过 create 或 update 命令提交 YAML 文件以完成特定任务(例如创建数据资产、提交训练作业或更新联机部署)时,他们可能会遇到“架构验证失败”错误。
原因
发生“架构验证失败”错误的原因是提交的 YAML 文件与用户尝试创建或更新的资产类型(工作区、数据、数据存储、组件、计算、环境、模型、作业、批处理终结点、批处理部署、联机终结点、联机部署、计划、连接或注册表)的规定架构不匹配。 这可能是由于多种原因造成的。
修复此错误的一般过程是首先转到存储 YAML 文件的位置,打开该文件并进行必要的编辑,保存该文件,然后返回终端并重新提交命令。 以下各部分将根据原因详细说明所需的更改。
错误 - 无效值
提交的 YAML 文件包含一个或多个值类型不正确的参数。 例如 – 对于 ml data create(即数据架构),“path”参数应是一个 URL 值。 提供不是文件路径的数字或字符串将被视为无效操作。 该参数可能还包含可接受值的范围,而提供的值不在该范围内。 例如 – 对于 ml data create,“type”参数只接受 uri_file、uri_folder 或 ml_table。 任何其他值都将被视为无效。
解决方法 - 无效值
如果为参数提供的值的类型无效,请检查规定的架构并将值更改为正确的类型(注意:这表示为参数提供的值的数据类型,请不要与许多架构中的“type”参数相混淆)。 如果值本身无效,请从预期的值范围内选择一个值(可在错误消息中找到该值)。 保存 YAML 文件并重新提交命令。 此处提供了 Azure 机器学习 v2 中所有不同资产类型的架构列表。
错误 - 未知字段
提交的 YAML 文件包含的一个或多个参数不是该资产类型的规定架构的一部分。 例如 – 对于 ml job create(即 commandjob
架构),如果提供了名为“name”的参数,则会遇到此错误,因为 commandjob
架构没有此类参数。
解决方法 - 未知字段
在提交的 YAML 文件中,删除无效的字段。 保存 YAML 文件并重新提交命令。
错误 - 找不到文件或文件夹
提交的 YAML 文件包含“path”参数。 作为该参数的值提供的文件或文件夹路径不正确(拼写错误、缺少扩展名等),或者该文件/文件夹不存在。
解决方法 - 找不到文件或文件夹
在提交的 YAML 文件中,转到“path”参数,并仔细检查提供的文件/文件夹路径是否输入正确(即路径是否完整、没有拼写错误、没有遗漏文件扩展名、是否包含特殊字符等)。 保存 YAML 文件并重新提交命令。 如果该错误仍然存在,则表示该文件/文件夹不在提供的位置。
错误 - 缺少字段
提交的 YAML 文件缺少必需的参数。 例如– 对于 ml job create(即 commandjob
架构),如果未提供“compute”参数,则会遇到此错误,因为运行命令作业需要计算。
解决方法 - 缺少字段
检查你尝试创建或更新的资产类型的规定架构 – 检查需要哪些参数及其正确的值类型是什么。 此处提供了 Azure 机器学习 v2 中不同资产类型的架构列表。 确保提交的 YAML 文件包含所有必需的参数。 另外,确保为这些参数提供的值类型正确,或者在可接受的值范围内。 保存 YAML 文件并重新提交命令。
错误 - 无法分析
无法读取提交的 YAML 文件,因为语法错误、格式错误或文件中的某个位置存在不需要的字符。 例如 – 在 YAML 文件中的某个位置错误输入了特殊字符(例如冒号或分号)。
解决方法 - 无法分析
仔细检查提交的 YAML 文件内容是否语法正确,不包含不需要的字符且未使用错误的格式。 修复所有这些问题,保存 YAML 文件并重新提交命令。
错误 - 找不到资源
提交的 YAML 文件中的一个或多个资源(例如文件/文件夹)不存在,或者你无权访问它。
解决方法 - 找不到资源
仔细检查是否正确指定了资源的名称,以及你是否有权访问它。 根据需要进行更改,保存 YAML 文件并重新提交命令。
错误 - 无法序列化
YAML 中的一个或多个字段无法序列化(转换)为对象。
解决方法 - 无法序列化
仔细检查 YAML 文件是否未损坏,以及文件内容的格式是否正确。