你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
多变量 API 故障排除
重要
从 2023 年 9 月 20 日开始,将无法创建新的异常检测器资源。 异常检测器服务将于 2026 年 10 月 1 日停用。
本文提供指导,说明如何在使用 Azure AI 异常检测器多变量 API 时排查常见错误消息并进行修正。
多变量错误代码
下表列出了多变量错误代码。
常见错误
错误代码 |
HTTP 错误代码 |
错误消息 |
注释 |
SubscriptionNotInHeaders |
400 |
标头中未找到 apim-subscription-id。 |
将 APIM 订阅 ID 添加到标头中。 示例标头为 {"apim-subscription-id": <Your Subscription ID>} 。 |
FileNotExist |
400 |
文件 <源> 不存在。 |
检查 blob 共享访问签名是否有效。 确保它未过期。 |
InvalidBlobURL |
400 |
|
blob 共享访问签名不是有效的共享访问签名。 |
StorageWriteError |
403 |
|
此错误可能是由权限问题导致的。 服务不允许将数据写入由客户管理的密钥加密的 blob。 请删除客户管理的密钥或再次授予服务访问权限。 有关详细信息,请参阅通过 Azure Key Vault 为 Azure AI 服务配置客户管理的密钥。 |
StorageReadError |
403 |
|
与 StorageWriteError 相同。 |
UnexpectedError |
500 |
|
请与我们联系并提供详细的错误信息。 你可使用 Azure AI 服务支持和帮助选项中的支持选项,或者向我们发送电子邮件(地址为 AnomalyDetector@microsoft.com)。 |
训练多变量异常情况检测模型
错误代码 |
HTTP 错误代码 |
错误消息 |
注释 |
TooManyModels |
400 |
此订阅已达到最大模型数量。 |
每个 APIM 订阅 ID 允许有 300 个活动模型。 在训练新模型之前删除未使用的模型。 |
TooManyRunningModels |
400 |
此订阅已达到最大运行模型数量。 |
每个 APIM 订阅 ID 允许同时训练 5 个模型。 请在之前的模型完成其训练过程后再训练新模型。 |
InvalidJsonFormat |
400 |
JSON 格式无效。 |
训练请求不是有效的 JSON。 |
InvalidAlignMode |
400 |
'alignMode' 字段必须是这些值之一:'Inner' 或 'Outer' 。 |
请检查 'alignMode' 的值,该值应为 'Inner' 或 'Outer' (区分大小写)。 |
InvalidFillNAMethod |
400 |
'fillNAMethod' 字段必须是以下值之一:'Previous' 、'Subsequent' 、'Linear' 、'Zero' 、'Fixed' 、'NotFill' 。 当 'alignMode' 为 'Outer' 时,该字段的值不能为 'NotFill' 。 |
检查 'fillNAMethod' 的值。 有关详细信息,请参阅使用异常检测器多变量 API 的最佳做法。 |
RequiredPaddingValue |
400 |
当 'fillNAMethod' 为 'Fixed' 时,请求中的 'paddingValue' 字段为必填字段。 |
当 'fillNAMethod' 为 'Fixed' 时,需要提供有效的填充值。 有关详细信息,请参阅使用异常检测器多变量 API 的最佳做法。 |
RequiredSource |
400 |
请求中的 'source' 字段为必填字段。 |
训练请求尚未指定 'source' 字段的值。 例如 {"source": <Your Blob SAS>} 。 |
RequiredStartTime |
400 |
请求中的 'startTime' 字段为必填字段。 |
训练请求尚未指定 'startTime' 字段的值。 例如 {"startTime": "2021-01-01T00:00:00Z"} 。 |
InvalidTimestampFormat |
400 |
时间戳格式无效。 <timestamp> 格式不是有效的格式。 |
请求正文中的时间戳格式不正确。 尝试通过 import pandas as pd; pd.to_datetime(timestamp) 进行验证。 |
RequiredEndTime |
400 |
请求中的 'endTime' 字段为必填字段。 |
训练请求尚未指定 'startTime' 字段的值。 例如 {"endTime": "2021-01-01T00:00:00Z"} 。 |
InvalidSlidingWindow |
400 |
'slidingWindow' 字段必须是介于 28 和 2880 之间的整数。 |
'slidingWindow' 字段必须是介于 28 和 2880 之间(含 28 和 2880)的整数。 |
获取具有模型 ID 的多变量模型
错误代码 |
HTTP 错误代码 |
错误消息 |
注释 |
ModelNotExist |
404 |
此模型不存在。 |
具有相应模型 ID 的模型不存在。 请检查请求 URL 中的模型 ID。 |
列出多变量模型
错误代码 |
HTTP 错误代码 |
错误消息 |
注释 |
InvalidRequestParameterError |
400 |
$skip 或 $top 的值无效。 |
请检查这两个参数的值是否是数值。 值 $skip 和 $top 用于列出包含分页的模型。 由于 API 仅返回 10 个最近更新的模型,因此可以使用 $skip 和 $top 获取先前更新的模型。 |
使用已训练的模型进行异常情况检测
错误代码 |
HTTP 错误代码 |
错误消息 |
注释 |
ModelNotExist |
404 |
此模型不存在。 |
用于推理的模型不存在。 请检查请求 URL 中的模型 ID。 |
ModelFailed |
400 |
模型无法训练。 |
未能成功训练模型。 请通过获取具有模型 ID 的模型来获取详细信息。 |
ModelNotReady |
400 |
模型尚未就绪。 |
模型尚未就绪。 请等待一段时间,直到训练过程完成。 |
InvalidFileSize |
413 |
文件 <文件> 超过文件大小限制(<大小限制> 个字节)。 |
推理数据的大小超出上限,当前为 2GB。 请使用较少的数据进行推理。 |
获取检测结果
错误代码 |
HTTP 错误代码 |
错误消息 |
注释 |
ResultNotExist |
404 |
结果不存在。 |
每个请求的结果不存在。 推理未完成或结果已过期。 过期时间为 7 天。 |
数据处理错误
以下错误代码没有关联的 HTTP 错误代码。
错误代码 |
错误消息 |
注释 |
NoVariablesFound |
未找到变量。 请检查文件是否按照说明进行组织。 |
数据源中未找到 CSV 文件。 此错误通常是由不正确的文件组织方式导致。 请参阅示例数据,了解所需的结构。 |
DuplicatedVariables |
多个变量具有相同的名称。 |
存在重复的变量名称。 |
FileNotExist |
文件 <文件名> 不存在。 |
此错误通常在推理期间发生。 变量在训练数据中出现,但在推理数据中缺失。 |
RedundantFile |
文件 <文件名> 为冗余文件。 |
此错误通常在推理期间发生。 变量不在训练数据中,但出现在推理数据中。 |
FileSizeTooLarge |
文件 <文件名> 太大。 |
单个 CSV 文件 <文件名> 超过了限制的大小。 请使用较少的数据进行训练。 |
ReadingFileError |
读取 <文件名> 时出错。 <错误消息> |
无法读取文件 <文件名>。 有关详细信息,请参阅 <错误消息>,或在本地环境中使用 pd.read_csv(filename) 进行验证。 |
FileColumnsNotExist |
文件 <文件名> 中的列时间戳或值不存在。 |
每个 CSV 文件必须包含名为“时间戳”和“值”(区分大小写)的两列数据。 |
VariableParseError |
变量 <变量> 分析 <错误消息> 错误。 |
由于运行时错误,无法处理 <变量>。 有关详细信息,请参阅 <错误消息>,或联系我们并提供 <错误消息>。 |
MergeDataFailed |
无法合并数据。 请检查数据格式。 |
数据合并失败。 此错误可能是由错误的数据格式或不正确的文件组织方式导致。 请参阅当前文件结构的示例数据。 |
ColumnNotFound |
合并数据中找不到 <列> 列。 |
合并后列缺失。 验证数据。 |
NumColumnsMismatch |
合并数据的列数与变量数不匹配。 |
验证数据。 |
TooManyData |
数据点太多。 每个变量最大为 1000000 个。 |
请减少输入数据的大小。 |
NoData |
没有有效数据。 |
处理后没有要训练/推理的数据。 请检查开始时间和结束时间。 |
DataExceedsLimit 。 |
时间戳介于 startTime 和 endTime 之间的数据的长度超出限制 (<限制>)。 |
处理后的数据大小超出限制。 目前已处理的数据没有大小限制。 |
NotEnoughInput |
数据不充足。 数据的长度为 <数据长度>,但最小长度应大于滑动窗口,即 <滑动窗口大小>。 |
用于推理的最小数据点数量就是滑动窗口的大小。 尝试提供更多数据进行推理。 |