你当前正在访问 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 时间戳介于 startTimeendTime 之间的数据的长度超出限制 (<限制>)。 处理后的数据大小超出限制。 目前已处理的数据没有大小限制。
NotEnoughInput 数据不充足。 数据的长度为 <数据长度>,但最小长度应大于滑动窗口,即 <滑动窗口大小>。 用于推理的最小数据点数量就是滑动窗口的大小。 尝试提供更多数据进行推理。