Troubleshoot the multivariate API

Important

Starting on the 20th of September, 2023 you won’t be able to create new Anomaly Detector resources. The Anomaly Detector service is being retired on the 1st of October, 2026.

This article provides guidance on how to troubleshoot and remediate common error messages when you use the Azure AI Anomaly Detector multivariate API.

Multivariate error codes

The following tables list multivariate error codes.

Common errors

Error code HTTP error code Error message Comment
SubscriptionNotInHeaders 400 apim-subscription-id is not found in headers. Add your APIM subscription ID in the header. An example header is {"apim-subscription-id": <Your Subscription ID>}.
FileNotExist 400 File <source> does not exist. Check the validity of your blob shared access signature. Make sure that it hasn't expired.
InvalidBlobURL 400 Your blob shared access signature isn't a valid shared access signature.
StorageWriteError 403 This error is possibly caused by permission issues. Our service isn't allowed to write the data to the blob encrypted by a customer-managed key. Either remove the customer-managed key or grant access to our service again. For more information, see Configure customer-managed keys with Azure Key Vault for Azure AI services.
StorageReadError 403 Same as StorageWriteError.
UnexpectedError 500 Contact us with detailed error information. You could take the support options from Azure AI services support and help options or email us at AnomalyDetector@microsoft.com.

Train a multivariate anomaly detection model

Error code HTTP error code Error message Comment
TooManyModels 400 This subscription has reached the maximum number of models. Each APIM subscription ID is allowed to have 300 active models. Delete unused models before you train a new model.
TooManyRunningModels 400 This subscription has reached the maximum number of running models. Each APIM subscription ID is allowed to train five models concurrently. Train a new model after previous models have completed their training process.
InvalidJsonFormat 400 Invalid JSON format. Training request isn't a valid JSON.
InvalidAlignMode 400 The 'alignMode' field must be one of the following: 'Inner' or 'Outer' . Check the value of 'alignMode', which should be either 'Inner' or 'Outer' (case sensitive).
InvalidFillNAMethod 400 The 'fillNAMethod' field must be one of the following: 'Previous', 'Subsequent', 'Linear', 'Zero', 'Fixed', 'NotFill'. It cannot be 'NotFill' when 'alignMode' is 'Outer'. Check the value of 'fillNAMethod'. For more information, see Best practices for using the Anomaly Detector multivariate API.
RequiredPaddingValue 400 The 'paddingValue' field is required in the request when 'fillNAMethod' is 'Fixed'. You need to provide a valid padding value when 'fillNAMethod' is 'Fixed'. For more information, see Best practices for using the Anomaly Detector multivariate API.
RequiredSource 400 The 'source' field is required in the request. Your training request hasn't specified a value for the 'source' field. An example is {"source": <Your Blob SAS>}.
RequiredStartTime 400 The 'startTime' field is required in the request. Your training request hasn't specified a value for the 'startTime' field. An example is {"startTime": "2021-01-01T00:00:00Z"}.
InvalidTimestampFormat 400 Invalid timestamp format. The <timestamp> format is not a valid format. The format of timestamp in the request body isn't correct. Try import pandas as pd; pd.to_datetime(timestamp) to verify.
RequiredEndTime 400 The 'endTime' field is required in the request. Your training request hasn't specified a value for the 'startTime' field. An example is {"endTime": "2021-01-01T00:00:00Z"}.
InvalidSlidingWindow 400 The 'slidingWindow' field must be an integer between 28 and 2880. The 'slidingWindow' field must be an integer between 28 and 2880 (inclusive).

Get a multivariate model with a model ID

Error code HTTP error code Error message Comment
ModelNotExist 404 The model does not exist. The model with corresponding model ID doesn't exist. Check the model ID in the request URL.

List multivariate models

Error code HTTP error code Error message Comment
InvalidRequestParameterError 400 Invalid values for $skip or $top. Check whether the values for the two parameters are numerical. The values $skip and $top are used to list the models with pagination. Because the API only returns the 10 most recently updated models, you could use $skip and $top to get models updated earlier.

Anomaly detection with a trained model

Error code HTTP error code Error message Comment
ModelNotExist 404 The model does not exist. The model used for inference doesn't exist. Check the model ID in the request URL.
ModelFailed 400 Model failed to be trained. The model isn't successfully trained. Get detailed information by getting the model with model ID.
ModelNotReady 400 The model is not ready yet. The model isn't ready yet. Wait for a while until the training process completes.
InvalidFileSize 413 File <file> exceeds the file size limit (<size limit> bytes). The size of inference data exceeds the upper limit, which is currently 2 GB. Use less data for inference.

Get detection results

Error code HTTP error code Error message Comment
ResultNotExist 404 The result does not exist. The result per request doesn't exist. Either inference hasn't completed or the result has expired. The expiration time is seven days.

Data processing errors

The following error codes don't have associated HTTP error codes.

Error code Error message Comment
NoVariablesFound No variables found. Check that your files are organized as per instruction. No CSV files could be found from the data source. This error is typically caused by incorrect organization of files. See the sample data for the desired structure.
DuplicatedVariables There are multiple variables with the same name. There are duplicated variable names.
FileNotExist File <filename> does not exist. This error usually happens during inference. The variable has appeared in the training data but is missing in the inference data.
RedundantFile File <filename> is redundant. This error usually happens during inference. The variable wasn't in the training data but appeared in the inference data.
FileSizeTooLarge The size of file <filename> is too large. The size of the single CSV file <filename> exceeds the limit. Train with less data.
ReadingFileError Errors occurred when reading <filename>. <error messages> Failed to read the file <filename>. For more information, see the <error messages> or verify with pd.read_csv(filename) in a local environment.
FileColumnsNotExist Columns timestamp or value in file <filename> do not exist. Each CSV file must have two columns with the names timestamp and value (case sensitive).
VariableParseError Variable <variable> parse <error message> error. Can't process the <variable> because of runtime errors. For more information, see the <error message> or contact us with the <error message>.
MergeDataFailed Failed to merge data. Check data format. Data merge failed. This error is possibly because of the wrong data format or the incorrect organization of files. See the sample data for the current file structure.
ColumnNotFound Column <column> cannot be found in the merged data. A column is missing after merge. Verify the data.
NumColumnsMismatch Number of columns of merged data does not match the number of variables. Verify the data.
TooManyData Too many data points. Maximum number is 1000000 per variable. Reduce the size of input data.
NoData There is no effective data. There's no data to train/inference after processing. Check the start time and end time.
DataExceedsLimit. The length of data whose timestamp is between startTime and endTime exceeds limit(<limit>). The size of data after processing exceeds the limit. Currently, there's no limit on processed data.
NotEnoughInput Not enough data. The length of data is <data length>, but the minimum length should be larger than sliding window, which is <sliding window size>. The minimum number of data points for inference is the size of the sliding window. Try to provide more data for inference.