Error codes
This document lists the error messages returned when you call IoT Platform API operations. For errors such as invalid request parameter formats, out-of-range values, or missing required parameters, see the request parameter descriptions in the documentation for the specific API operation.
System error codes
Error codes that start with iot.system or iot.Sre are system-related error codes.
Error code | Description | Solutions |
iot.system.SystemException | System error. | Retry later. If the issue persists, submit a ticket. |
iot.system.InstanceNotFound | The instance ID does not exist. | Ensure that the request parameters are correct and retry. |
iot.Sre.IotInstanceNotFound | ||
iot.system.UidNotFound | The Alibaba Cloud account does not exist or the Internet of Things service is not activated. | Ensure that the Alibaba Cloud account is correct and that the Internet of Things service is activated. Then, retry. |
iot.system.IllegalRequest | Invalid request parameters. | Ensure that the request parameters are correct and retry. |
iot.system.InstanceIdSame | The source and target instance IDs are the same. | Ensure that the source and target instance IDs are different. Then, retry. |
iot.system.BillIsOverDue | The Alibaba Cloud account has an overdue payment. | Go to the Alibaba Cloud Account Center to add funds. |
Common error codes
Error codes that start with iot.common or iot.check are common error codes.
Error code | Description | Solution |
iot.common.InvalidPageParams | The page size or page number for paging is invalid. | See the descriptions of paging-related parameters, such as PageSize, in the documentation for the specific API operation. Make sure that the request parameters are correct and retry the operation. |
iot.common.InvalidTenant | Invalid tenant. | Check the Alibaba Cloud account information and permissions. |
iot.common.QueryDeviceActionError | Failed to query the device. | Make sure that the request parameters are correct and retry the operation. |
iot.common.QueryDevicePropertyActionError | The query for device properties failed. | |
iot.common.QueryProductActionError | The product query failed. | |
iot.common.QueryProductCountActionError | The query for the total number of products failed. | |
iot.common.RamActionPermissionDeny | You do not have the Resource Access Management (RAM) permissions. | Grant the required permissions to the Alibaba Cloud account that you use to call the operation. For more information, see RAM user authorization. |
iot.common.AuthActionPermissionDeny | Authentication failed. This may be because the device information in the request parameters does not belong to the current account. | Make sure that the AccessKey information matches the device information and retry the operation. |
iot.check.ParameterIsNotLessThanMax | The value of Parameter A must be less than the value of Parameter B. For example, the value of the startTime parameter must be less than the value of the endTime parameter. | Make sure that the request parameters comply with the rule and retry the operation. |
iot.check.InvalidFormattedParameter | The parameter format is invalid. | Make sure that the request parameters are correct and retry the operation. |
iot.common.APINotSupportedInInstance | The current instance does not support this API operation. The feature is not supported for public instances. | Use an IoT Platform Enterprise instance to call the API operation. |
iot.common.InvalidFormattedParameter | The parameter format is invalid. | Make sure that the request parameters are correct and retry the operation. |
iot.common.IllegalFileBizCode | The specified file service type is invalid. | |
iot.common.IllegalFileFormat | The file format is invalid. | |
iot.common.FileDoesNotExist | The specified file cannot be found. | |
iot.common.UpdateThingModelOverLimit | The number of valid characters in a single Thing Specification Language (TSL) model file exceeds the limit of 256 KB (256 × 1024 characters). | Make sure that the number of valid characters in a single TSL model file complies with the API limit. |
Product-related error codes
Error codes that start with iot.prod are product-related error codes.
Error code | Description | Solution |
iot.prod.AlreadyExistedProductName | A product with the same name already exists. Product names must be unique within an instance. | Make sure that the new product name is different from existing product names in the same Enterprise instance. Then, retry the operation. |
iot.prod.CreateProductFailed | Failed to create the product. | Make sure that the request parameters are correct and retry the operation. |
Failed to create a topic category for the product. | Failed to create the product topic category. | |
iot.prod.InvalidAliyunCommodityCode | The value of the AliyunCommodityCode parameter is invalid. | The valid values for AliyunCommodityCode are iothub_senior and iothub. Make sure that the AliyunCommodityCode parameter is correct and retry the operation. |
iot.prod.InvalidFormattedCatId | The value of the CategoryId parameter (the device type of the product) is invalid. | Make sure that the parameters related to the Category are correct and retry the operation. |
iot.prod.InvalidFormattedProductkey | The format of the product's ProductKey is invalid. | Make sure that the specified ProductKey is correct and retry the operation. |
iot.prod.InvalidFormattedProductName | The format of the product name is invalid. | Make sure that the format of the product name is correct and retry the operation. For more information about the product name format, see CreateProduct. |
iot.prod.LongProductDesc | The number of characters in the product description exceeds the limit. | The description can contain a maximum of 100 characters. Make sure that the length of the product description complies with the limit and retry the operation. |
iot.prod.InvalidNodeType | The node type (NodeType) of the product is invalid. | Make sure that the specified NodeType is correct and retry the operation. For more information about the valid values for the node type, see CreateProduct. |
iot.prod.NotExistedProduct | The product does not exist. The specified ProductKey does not exist for the current account. | Make sure that the specified ProductKey or instance ID is correct and retry the operation. |
iot.prod.NotOpenID2Service | The ID² service is not activated. | Activate the ID² service and retry the operation. The ID²-based authentication service was not enabled when the product was created. The ID²-based authentication service can be enabled only when you create a product. After a product is created, you cannot change the status of ID²-based authentication. |
iot.prod.NotSeniorProduct | The product does not support TSL models. When you created the product, you defined it as a product that does not use TSL models. | Make sure that the request parameters are correct and retry the operation. |
iot.prod.NullProductKey | Make sure that the ProductKey parameter is provided and retry the operation. | |
iot.prod.NullProductName | Make sure that the product name parameter is provided and retry the operation. | |
iot.prod.ProductCountExceedMax | The number of products exceeds the maximum limit. An instance can have a maximum of 1,000 products. | Delete the products that are no longer in use from the instance and retry the operation. |
iot.prod.QueryDeviceCountActionError | Failed to query the total number of devices under the product. | Make sure that the request parameters are correct and retry the operation. |
iot.prod.QueryProductAbilitiesFailed | Failed to obtain product features. | Make sure that the request parameters, such as the Identifier value, are correct. Then, retry the operation. |
iot.prod.QueryProductAbilityFailed | Failed to query product features. | Make sure that the request parameters, such as the Identifier value, are correct. Then, retry the operation. |
iot.prod.QueryProductListActionError | Failed to obtain the product list. | Make sure that the request parameters are correct and retry the operation. |
Failed to update product information. | The product information update failed. | |
Failed to query product tags. | The query for product tags failed. | |
iot.prod.InvalidScriptType | The data parsing script type is invalid. | Make sure that the data parsing script type in the request parameters is correct and retry the operation. |
iot.prod.ThingScriptExisted | A data parsing script to be created or updated already exists for the product. | Check whether a data parsing script to be created or updated already exists for the product. If it exists, you do not need to repeat the operation. |
iot.prod.ConcurrentScriptOperation | Failed to operate the data parsing script. | Make sure not to perform concurrent operations on the data parsing script. |
iot.prod.ThingScriptDataFormatError | The data parsing script type of the product is invalid. | Make sure that the request parameters are correct and retry the operation. |
iot.prod.BatchCreateThingModelFailed | Make sure that the request parameters are correct and retry the operation. | |
iot.prod.ThingModelNameDuplicated | The TSL model contains duplicate feature definition names. | Change the feature definition name and retry the operation. |
iot.Prod.NotProductOwner | The current operator is not the owner of the product. | Make sure that you are authorized to access the product and retry the operation. |
iot.prod.ProductDataFormatIsNull | Failed to submit the data parsing script. The value of the DataFormat request parameter is empty when you create the product. | Make sure that you have set the data format when creating the product. For more information, see CreateProduct. |
Device-related error codes
Error codes that start with iot.device, Iot.Device, or iot.devicesearch are device-related error codes.
Error code | Description | Solution |
iot.device.DistributedProductCanNotCreateDevice | The product to which the device to be registered belongs is a distributed product. The recipient of the device distribution cannot create devices under the distributed product. | Register the device under a product that is created by the current account. |
Iot.Device.NotDeviceOwner | The current operator is not the owner of the device. | Log on to the IoT Platform console with your Alibaba Cloud account, query the device in the corresponding instance, and verify that the device exists. |
iot.device.AddTopoRelationFailed | Failed to add the topology. | Make sure that the request parameters are correct and retry the operation. |
iot.device.AlreadyExistedDeviceName | A device with the same name already exists. Device names must be unique within a product. | Rename the device and retry the operation. |
iot.device.ApplyManyDevicesFailed | The batch device creation request failed. | Make sure that the request parameters are correct and retry the operation. |
Failed to create the device. | Failed to create the device. | |
iot.device.CreateDeviceTaskIsRunning | The device creation request is still being processed. | The batch device creation task is in progress. Retry the operation later. |
iot.device.DeviceApplyIsNotFound | The device request ID (ApplyId) does not exist. | Make sure that the specified ApplyId is the same as the ApplyId returned by the corresponding API operation (BatchCheckDeviceNames or BatchImportDevice). Then, retry the operation. |
iot.device.DeviceCountExceeded | The number of devices in the batch request exceeds the maximum limit. You can register a maximum of 10,000 devices in a single call. | Reduce the number of devices and retry the operation. |
iot.device.DeleteDeviceFailed | Failed to delete the device. | Make sure that the request parameters are correct and retry the operation. |
Failed to delete device properties. | The device property could not be deleted. | |
Failed to disable the device. | The device could not be disabled. | |
Failed to enable the device. | The device could not be enabled. | |
iot.device.InactiveDevice | The device is not activated. The physical device has never connected to IoT Platform. | Log on to the IoT Platform console, view the device status, and check whether the device is online. |
iot.device.InvalidFormattedApplyId | The device creation request ID (ApplyId) is invalid. | Make sure that the specified ApplyId is the same as the ApplyId returned by BatchCheckDeviceNames. Then, retry the operation. |
iot.device.IncorrentDeviceApplyInfo | The device request information is invalid. | Make sure that the request parameters, such as ApplyId, are correct. Then, retry the operation. |
iot.device.InvalidFormattedDeviceName | The device name format is invalid. | Make sure that the format of the device name is correct and retry the operation. For more information about the device name format, see RegisterDevice. |
iot.device.InvalidDeviceNickNameExisted | The device name list contains invalid nicknames. For more information about the error, see the returned list of invalid nicknames. | Check whether the device nicknames are valid when you register devices in batches. |
iot.device.InvalidFormattedDevicePropertyKey | The format of the device property identifier is invalid. See the description of the property format in the documentation for the relevant API operation. | Check whether the format of the device property identifier is valid. |
iot.device.InvalidFormattedDevicePropertiesString | The format of the device properties is invalid. | Check whether the property format is correct. For more information about the property format, see the documentation for the relevant API operation. |
iot.device.InvalidIoTId | The device ID is invalid. | Log on to the IoT Platform console, query the device information, and then check whether the IotId is valid. You can call QueryDeviceDetail or QueryDevice to view the correct IotId, or use a combination of ProductKey and DeviceName instead of IotId. |
iot.device.InvalidTimeBucket | The specified time range is invalid. See the parameter descriptions in the documentation for the relevant API operation and enter the correct parameters. | Check whether the start time and end time values comply with the API description. |
iot.device.InvokeThingServiceFailed | Failed to call the device service. Check whether the request parameters are correct, such as the format and value of the Args parameter. | First, make sure that the request parameters comply with the feature definitions of the product. Then, log on to the IoT Platform console to query the status of the device. After you confirm that the device is online, retry the operation. |
iot.device.LongDevicePropertiesString | The length of the device properties exceeds the maximum limit. See the limits in the documentation for the relevant API operation. | Reduce the number of parameters and retry the operation. |
iot.device.NoneDeviceNameElement | The device name list is empty. | Make sure that all request parameters are valid and retry the operation. |
iot.device.NoneDeviceProperties | No valid device properties. Check whether the specified property Identifier is consistent with the one defined in the TSL model. | Make sure that the request parameters comply with the API parameter descriptions and retry the operation. |
iot.device.NotExistedDevice | The device does not exist. The specified device IotId, ProductKey, or DeviceName is invalid. Call QueryDeviceDetail or QueryDevice to view the correct value. | Log on to the IoT Platform console, query the device information, and check whether the device exists. |
iot.device.NullApplyId | The device creation request ID (ApplyId) cannot be empty. | Make sure that the ApplyId is correct and retry the operation. |
iot.device.NullDeviceName | The device name cannot be empty. | Make sure that the request parameters are correct and retry the operation. |
iot.device.NullDevicePropertyKey | The device property name cannot be empty. | |
iot.device.NullDevicePropertiesString | Make sure that the device properties are provided and retry the operation. | |
iot.device.QueryDeviceApplyActionError | Failed to query the device request information. | Make sure that the ApplyId is correct and retry the operation. |
iot.device.QueryDeviceAttrDataHistoryFailed | Failed to obtain the historical data of device properties. | Make sure that the request parameters are correct and retry the operation. |
Failed to obtain the status information of device properties. | Failed to retrieve the device property status. | |
Failed to obtain the device event invocation records. | Failed to retrieve the call records for device events. | |
iot.device.QueryDeviceListActionError | The query for the device list failed. | |
Failed to obtain the device service invocation records. | The device service invocation record could not be retrieved. | |
Failed to query device statistics. | The query for device performance statistics failed. | |
Iot.Device.QueryDeviceStatusFailed | The device status query failed. | |
iot.device.QueryTopoRelationFailed | Failed to query the topology. Check whether the request parameters are correct. For example, this error is reported if the value of PageSize is greater than the limit of 50. | |
Failed to remove the topology. | The topology relationship could not be removed. | |
Failed to add or modify device properties. | The device property could not be added or modified. | |
iot.device.SetDevicePropertyFailed | Failed to set device properties. Check whether the value and format of the Items parameter are correct and whether the specified property is of the read/write type. | Make sure that the request parameters for the device properties comply with the feature definitions of the product. Then, retry the operation. |
iot.device.TooManyDevicePropertiesPerTime | The number of specified properties exceeds the limit. See the limits in the documentation for the relevant API operation. | Make sure that the number of properties does not exceed the limit and retry the operation. |
iot.device.TopoRelationCountExceeded | The number of topologies is too large. For more information about the limits on the number of gateways and sub-devices, see Limits. | Delete some unused topologies and retry the operation. |
iot.device.VerifyDeviceFailed | The device failed to authenticate. | Make sure that the request parameters, such as device information, are correct. Then, retry the operation. |
iot.device.TooManyDeviceNamesPerRequest | The number of device names in the query request exceeds the maximum limit. | Make sure that the number of device names in the request parameters does not exceed 10,000. Then, retry the operation. |
iot.device.InvalidDeviceParams | The request parameters are invalid. | Make sure that the request parameters, such as device information, are correct. Then, retry the operation. |
iot.devicesearch.InvalidSQLError | The SQL statement is invalid. | Make sure that the SQL syntax is valid and retry the operation. |
iot.devicesearch.InvalidSQLOffsetError | The SQL offset is invalid. | Check the SQL statement, correct the invalid offset, and retry the operation. |
iot.devicesearch.InvalidSQLFieldError | The SQL statement contains an invalid field name. | Check the SQL statement, correct the invalid field, and retry the operation. |
iot.devicesearch.InvalidSQLConditionError | The number of connectors in the SQL statement exceeds the limit. | Check the SQL statement, reduce the number of connectors, and retry the operation. |
iot.devicesearch.InvalidSQLOrderError | The sorting rule in the SQL statement is invalid. | Check the SQL statement, correct the invalid sorting rule, and retry the operation. |
iot.devicesearch.InvalidSQLOperatorTypeError | The SQL operator and data type do not match. | Check the SQL statement, correct the invalid operator, and retry the operation. |
iot.devicesearch.InvalidSQLParamError | The SQL syntax is not supported. | Check the SQL statement, remove the unsupported syntax, and retry the operation. |
iot.tsl.InvalidIdentifierInEventError | Failed to query the original event records of the specified device. | Check whether the specified property Identifier is valid. |
InvalidIdentifierInServiceError | Failed to query the original service records of the specified device. | Check whether the specified property Identifier is valid. |
InvalidIdentifierInPropertyError | Failed to query the original property records of the specified device. | Check whether the specified property Identifier is valid. |
iot.device.PageTokenIsIllegal | Failed to query the original snapshot, property records, service records, or event records of the specified device. | Make sure that the NextPageToken request parameter is correct and retry the operation. |
iot.device.DeviceHasDistributed | A device with the same name has been distributed. Change the device name and retry the operation. | A device with the same name has been distributed under the product. Change the device name and retry the operation. |
iot.device.FuzzyRuntimeSearchMinLengthLimit | The length of the content for the fuzzy search is less than 5 characters. | Increase the number of characters in the keyword for the fuzzy query and retry the operation. |
iot.device.RegionNotSupportDynamicGroup | The current region does not support dynamic groups. This feature is supported only in the China (Shanghai) region. | Check the region parameter in the request. Make sure that the region is China (Shanghai) and retry the operation. |
Device distribution-related error codes
Error codes that start with iot.provisioning are device distribution-related error codes.
Error code | Description | Solution |
iot.provisioning.RunningTaskExceedLimit | The number of concurrent distribution tasks for the current Alibaba Cloud account exceeds the limit. A single Alibaba Cloud account can have a maximum of 10 product distribution and device distribution tasks in total. | Wait for the running tasks to complete before you run more concurrent tasks. |
iot.provisioning.TaskNotFinish | The distribution task is not complete. | Wait for the current distribution task to complete. |
iot.provisioning.TaskIsProcessing | The distribution task is in progress. | Wait for the current distribution task to complete. |
iot.provisioning.DeviceIsInAnotherTask | The current device is in another distribution task. | If different distribution tasks distribute the same device at the same time, only one task will succeed. |
iot.provisioning.TaskNotExist | The distribution task does not exist. | Make sure that the distribution task exists and retry the operation. |
iot.provisioning.TaskAlreadyFinish | The distribution task is complete. | Make sure that the request parameters are correct and retry the operation. |
The user ID does not match the specified task. | The current Alibaba Cloud account ID does not match the account ID of the task creator. | |
iot.provisioning.DeviceIsDistributing | The device is being distributed. | Wait for the current device distribution to complete. |
iot.provisioning.ProductIsDistributing | The product is being distributed. | The current distribution task will be executed only after the task that distributes this product is complete. |
iot.provisioning.AccountNotFound | The specified Alibaba Cloud account does not exist. | Make sure that the request parameters are correct and retry the operation. |
iot.provisioning.TargetAccountParamsError | Make sure that the account information is provided and retry the operation. | |
iot.provisioning.CrmServiceError | An exception occurred with the Alibaba Cloud account service. | Retry the operation later. |
iot.provisioning.InstanceOperationDeny | The target instance does not belong to the target Alibaba Cloud account. | Make sure that the request parameters are correct and retry the operation. |
iot.provisioning.SourceInstanceNotFound | The specified source instance ID does not exist. | |
iot.provisioning.TargetInstanceNotFound | The specified instance does not exist. | |
The CAPTCHA cannot be empty. | This operation requires an authorization code. | |
iot.provisioning.CaptchaNotFound | The authorization code is invalid. | |
iot.provisioning.SendCaptchaFlowControl | The operation is too frequent. Retry after 1 minute. | Retry the operation later. The interval for sending verification codes must be greater than 1 minute. |
iot.provisioning.LimitExceeded | The number of distributed devices exceeds the limit. | Reduce the number of distributed devices and retry the operation. |
iot.provisioning.FailGetLogLat | Failed to obtain the latitude and longitude information. | Make sure that the request parameters are correct and retry the operation. |
iot.provisioning.NotCrossTenantId | This operation does not support cross-account operations for Alibaba Cloud accounts. | This operation does not support cross-account operations for Alibaba Cloud accounts. |
iot.provisioning.ErrorStrategy | This distribution policy is not supported. | Correct the distribution policy and retry the operation. |
iot.provisioning.InstanceRegionConflict | You can select only one instance ID for each region. | Make sure that the request parameters are correct and retry the operation. |
iot.provisioning.NotDeviceOwner | The current operator is not the owner of the device. | Only the device owner can initiate device distribution. |
iot.provisioning.NextTokenNotNull | The NextToken request parameter cannot be empty. For more information, see ListDeviceDistributeJob. | Make sure that the request parameters are correct and retry the operation. |
Secure tunnel-related error codes
Error codes that start with iot.securetunnel are secure tunnel-related error codes.
Error code | Description | Solution |
iot.securetunnel.InstanceIdMismatch | The instance ID does not match. | Make sure that the instance ID matches the instance to which the device belongs. Then, retry the operation. |
iot.securetunnel.TunnelNotExist | The secure tunnel does not exist. | Check whether the tunnel corresponding to the secure tunnel ID exists. |
iot.securetunnel.IllegalState | The secure tunnel status is incorrect. | Check whether the status of the secure tunnel meets the requirements of the corresponding API operation. |
iot.securetunnel.ParamInvalid | The parameters of the secure tunnel API operation are invalid. | See the API parameter descriptions. Make sure that the parameters are correct and retry the operation. |
iot.securetunnel.DescriptionTooLong | When creating a secure tunnel, the content of the Description parameter exceeds the length limit of 1,024 characters. | See the API parameter descriptions. Make sure that the parameters are correct and retry the operation. |
iot.securetunnel.UdiTooLong | When creating a secure tunnel, the content of the Udi parameter exceeds the length limit of 4,096 characters. | See the API parameter descriptions. Make sure that the parameters are correct and retry the operation. |
iot.securetunnel.TunnelAmountExceedByDevice | The number of secure tunnels for the current device exceeds the limit of 10. | Close and delete the secure tunnels that are no longer in use and retry the operation. |
iot.securetunnel.TunnelAmountExceedByInstance | The number of secure tunnels in the current instance exceeds the limit of 1,000. | Close and delete the secure tunnels that are no longer in use and retry the operation. |
iot.securetunnel.DeviceNotExist | The device does not exist. | Check whether the device exists. |
iot.securetunnel.DeviceNotOnline | The device is offline. | Make sure that the device is online and retry the operation. |
iot.securetunnel.DeviceNotSpecified | The device is not specified. | Specify the device-related request parameters and retry the operation. |
Device job-related error codes
Error codes that start with iot.job are device job-related error codes.
Error code | Description | Solution |
iot.job.JobNotExist | The job does not exist. | Log on to the IoT Platform console, query the job, check whether the job exists, and then retry the operation. |
iot.job.ListTaskParamJobIdAndDeviceNull | The JobId and Device request parameters cannot be empty at the same time. | Make sure that the request parameters are correct and retry the operation. |
iot.job.ListTaskParamDeviceInfoInvalid | The device information in the Device request parameter is invalid. productKey and deviceName cannot be empty at the same time. | |
Failed to generate the file upload URL. | The file upload URL could not be generated. | |
iot.job.ParamsError | The specified parameter is abnormal. | |
iot.job.JobInvokeServiceSidError | In the batch device service invocation job, the serviceIdentifier parameter in JobDocument is invalid. | |
iot.job.JobSetPropertyParamsError | In the batch device property setting job, the params parameter in JobDocument is invalid. | |
iot.job.JobCountExceedLimit | The number of jobs exceeds the limit. A single Alibaba Cloud account can add a maximum of 10,000 jobs in a single region. | Delete unnecessary jobs and retry the operation. |
iot.job.IllegalTargetDevices | The TargetDevices in the TargetConfig request parameter contains invalid devices. | Make sure that the request parameters are correct and retry the operation. |
iot.job.QueryJobFailed | The query for the task information failed. | |
iot.job.NotJobOwner | You are not the owner of this job. | Log on to the IoT Platform console, query the job information, check whether the jobId is correct, and then retry the operation. |
iot.job.UpdateJobFailed | Failed to update the task configuration for the job. | Make sure that the request parameters are correct and retry the operation. |
iot.job.JobActionForbidden | The current job status prohibits this type of operation. | Check the job status, make sure that the job status complies with the API parameter description, and then retry the operation. |
iot.job.CancelJobFailed | Failed to cancel the job. | Make sure that the request parameters are correct and retry the operation. |
Failed to delete the job. | The task deletion failed. | |
Failed to query job information. | Failed to query the task information. | |
Failed to query the task under the specified job. | The query for the job in the specified task failed. | |
iot.job.TaskIdIsNull | The TaskId parameter cannot be empty. | |
iot.job.TaskNotExist | The job does not exist in the specified task. | Log on to the IoT Platform console, query the job, check whether the task exists, and then retry the operation. |
iot.job.NotTaskOwne | You are not the owner of this device task. | Log on to the IoT Platform console, check whether the device information exists under the job, and then retry the operation. |
iot.job.JobFileInSecure | The content of the file uploaded during job creation is invalid. | Check the file information, make sure that the file content is correct, and then retry the operation. |
iot.job.ReRunJobFailed | Failed to retry the job. The API call conflicts with a concurrent operation. Retry the operation later. | Make sure that the request parameters are correct and retry the operation. |
Device group-related error codes
Error codes that start with iot.group are device group-related error codes.
Error code | Description | Solution |
iot.group.NullGroupId | The group ID parameter is not assigned a value. | Make sure that the request parameters are correct and retry the operation. |
Failed to delete the group. | The group could not be deleted. | |
iot.group.SubGroupNotNull | The group has subgroups. You cannot delete a group that has subgroups. You must delete the subgroups first. | Delete the subgroups first, and then retry deleting the group. |
iot.group.InvalidGroupName | The group name is invalid. A group name can contain Chinese characters, letters, digits, and underscores (_). It must be 4 to 30 characters in length. A Chinese character is counted as two characters. | Make sure that the request parameters are correct and retry the operation. |
iot.group.GroupNameExisted | The group name already exists. | Rename the group and retry the operation. |
iot.group.QueryGroupInfoFailed | Failed to query group details. | Make sure that the request parameters are correct and retry the operation. |
iot.group.NotExistedGroup | The group does not exist. Check the GroupId. | Log on to the IoT Platform console, query the group, check whether the group exists, and then retry the operation. |
iot.group.QueryGroupCountFailed | Failed to query the number of groups. | Make sure that the request parameters are correct and retry the operation. |
Failed to query the group list. | The group list query failed. | |
Failed to bind the group relationship. | Failed to attach the group. | |
iot.group.UpdateGroupFailed | The group information could not be modified. | |
Failed to obtain the group relationship structure. | The group relationship structure could not be retrieved. | |
Failed to create the group. | Failed to create the group. | |
iot.group.InvalidFormattedTagString | The tag format is invalid. | Tags must be in the JSON format. A tag consists of a tagKey and a tagValue. Neither the tagKey nor the tagValue can be empty. Separate multiple tags with commas (,), for example, |
iot.group.TagCountExceedMax | The number of tags exceeds the maximum limit. Each group can have a maximum of 100 tags. | Delete unnecessary tags and retry the operation. |
iot.group.GroupCountExceedMax | The number of groups exceeds the maximum limit.
| Delete unnecessary subgroups or devices from the group and retry the operation. |
iot.group.SetGroupTagFailed | Failed to set group tag information. | Make sure that the request parameters are correct and retry the operation. |
Failed to query group tag information. | The group tag information could not be retrieved. | |
iot.group.LongGroupDescError | The group description field is too long. The group description is limited to 100 characters. A Chinese character is counted as one character. | Edit the group description and retry the operation. |
iot.group.QueryGroupRelationFailed | Failed to query the group relationship. | Make sure that the request parameters are correct and retry the operation. |
iot.group.GroupLevelExceedingLimitError | The group level exceeds the limit. Groups support a maximum of three levels of nesting: group > subgroup > sub-subgroup. | Log on to the IoT Platform console and check the group nesting level. |
iot.group.SuperGroupUnsupport | The subgroup cannot be added to the current parent group. | Log on to the IoT Platform console and check whether the group is a dynamic group. Dynamic groups do not support adding subgroups. |
Message-related error codes
Most error codes that start with iot.messagebroker are message-related. These error codes mainly occur when you fail to call API operations for message communication, device shadows, or the rules engine. For error codes that are returned when you fail to call API operations for the rules engine, see the "Rules engine-related error codes" section in this document.
Error code | Description | Solution |
iot.messagebroker.CreateTopicRouteFailed | Failed to create a message route between topics. | Make sure that the request parameters are correct and retry the operation. |
iot.messagebroker.CreateTopicTemplateException | An abnormality occurred during the procedure for creating a topic category. | |
iot.messagebroker.CreateTopicTemplateFailed | Failed to create the topic category. | |
Failed to subscribe to topics in batches. | Batch topic subscription failed. | |
Iot.MessageBroker.EmptySubTopicList | The list of subscribed topics is empty. | Specify a non-empty topic list and retry the operation. |
iot.messagebroker.DeleteTopicTemplateException | An exception occurred while deleting the topic category. | Make sure that the request parameters are correct and retry the operation. |
Failed to delete the topic category. | The topic category could not be deleted. | |
iot.messagebroker.DestTopicNameArraySizeIsLarge | The number of destination topics configured for the same source topic exceeds the maximum limit. | A source topic can correspond to a maximum of 100 destination topics. Check the relevant configuration and retry the operation. |
iot.messagebroker.DeleteTopicRouteFailed | Failed to delete the route between the specified topics. | Make sure that the request parameters are correct and retry the operation. |
iot.messagebroker.DesireInfoInShadowMessageIsNotJson | The desire information in the device shadow is not in JSON format. | Specify the desire information in JSON format and retry the operation. |
iot.messagebroker.DesireValueIsNullInShadowMessage | The value of the desire information in the device shadow is empty. | Specify non-empty desire information and retry the operation. |
iot.messagebroker.ElementKeyOrValueIsNullInDesire | The desire information contains an empty property identifier or property value. | Make sure that the specified desire information does not contain an empty property identifier or property value. Then, retry the operation. |
iot.messagebroker.ElementKeyOrValueIsNullInReport | The report information contains an empty property identifier or property value. | Make sure that the specified report information does not contain an empty property identifier or property value. Then, retry the operation. |
iot.messagebroker.HALFCONN | The operation failed because the device is in a half-connected state. | Make sure that the device connection is normal and retry the operation. |
iot.messagebroker.InvalidFormattedSrcTopicName | The format of the source topic name is invalid. | Make sure that the topic name format is correct and retry the operation. You can view the device's topics on the Topic List tab of the device details page in the console. |
iot.messagebroker.InvalidFormattedTopicName | The topic format is invalid. You can view the device's topics on the Topic List tab of the device details page in the console. | Make sure that the topic format is correct and retry the operation. You can view the device's topics on the Topic List tab of the device details page in the console. |
iot.messagebroker.InvalidFormattedTopicTemplateId | The format of the topic category ID is invalid. | Make sure that the topic category ID format is correct and retry the operation. You can call QueryProductTopic to view the TopicId. |
iot.messagebroker.InvalidTimeoutValue | The timeout parameter is set incorrectly. | Make sure that the time parameter is set correctly and retry the operation. See the documentation for the relevant API operation to learn how to set the time. |
iot.messagebroker.InvalidTopicTemplateOperationValue | The operation permission value for the topic category is invalid. | Make sure that the operation permission for the topic category is correct and retry the operation. The valid values for operation permissions are: SUB: subscribe. PUB: publish. ALL: publish and subscribe. |
iot.messagebroker.InvalidVersionValueInShadowMessage | The version value in the device shadow is invalid. | Make sure that the version value in the device shadow is correct and retry the operation. |
iot.messagebroker.MethodValueIsNotUpdate | The value of the method information in the device shadow is not update. | Make sure that the value of the method in the device shadow is update and retry the operation. |
iot.messagebroker.MessageContentIsNotBase64Encode | The message content is not Base64-encoded. | Make sure that the message content is Base64-encoded and retry the operation. |
iot.messagebroker.NoneElementInDesire | The desire information contains no properties. | Make sure that the desire information contains properties and retry the operation. |
iot.messagebroker.NoneElementInReport | The report information contains no properties. | Make sure that the report information contains properties and retry the operation. |
iot.messagebroker.NoneElementDestTopicNameInArray | The destination topic list contains no elements. | Make sure that the destination topic list contains elements and retry the operation. |
iot.messagebroker.NotFoundDesireInShadowMessage | The state information of the device shadow does not contain desire information. | Make sure that the state information of the device shadow contains desire information. Then, retry the operation. |
iot.messagebroker.NotFoundMethodInShadowMessage | The device shadow does not contain method information. | Make sure that the device shadow contains method information and retry the operation. |
iot.messagebroker.NotFoundReportInShadowMessage | The device shadow does not contain report information. | Make sure that the device shadow contains report information and retry the operation. |
iot.messagebroker.NotFoundStateInShadowMessage | The device shadow does not contain state information. | Make sure that the device shadow contains state information and retry the operation. |
iot.messagebroker.NotFoundVersionOrNullVersionValue | The version information is missing or the version value is empty. | Make sure that the version value is not empty and retry the operation. |
iot.messagebroker.NotMatchedProductKeyWithSrcTopicOwner | The ProductKey of the product corresponding to the source topic does not belong to the current user. | Make sure that the product corresponding to the topic belongs to the current user and retry the operation. |
iot.messagebroker.NullMessageContent | The message content cannot be empty. | Make sure that the message content is not empty and retry the operation. |
iot.messagebroker.NullShadowMessage | The device shadow content cannot be empty. | Make sure that the device shadow content is not empty and retry the operation. |
iot.messagebroker.NullSrcTopicName | The source topic name cannot be empty. | Make sure that the topic name is not empty and retry the operation. |
iot.messagebroker.NullTopicName | The topic cannot be empty. | Make sure that the topic is not empty and retry the operation. |
iot.messagebroker.NullTopicTemplateId | The topic category ID cannot be empty. | Make sure that the topic category ID is not empty and retry the operation. |
iot.messagebroker.NullTopicTemplateOperation | The operation permission for the topic category cannot be empty. | Make sure that the operation permission for the topic category is not empty and retry the operation. |
iot.messagebroker.OFFLINE | The operation failed because the device is offline. | Make sure that the device is online and retry the operation. |
iot.messagebroker.PublishMessageException | An exception occurred while sending the message. | Make sure that the request parameters are correct and retry the operation. |
Failed to send the message. | The message failed to send. | |
iot.messagebroker.QueryDeviceShadowActionError | The device shadow query failed. | |
iot.messagebroker.QueryProductTopicListActionError | The topic category list could not be retrieved. | |
iot.messagebroker.QueryTopicReverseRouteTableListActionError | Failed to retrieve the message reverse routing list (the list of message source Topics). | |
iot.messagebroker.QueryTopicRouteTableListActionError | The message routing list could not be retrieved. | |
iot.messagebroker.QueryTopicTemplateActionError | The query for the topic category failed. | |
iot.messagebroker.QueryTopicTemplateException | The topic category retrieval procedure encountered an exception. | |
iot.messagebroker.RateLimit | The operation failed due to throttling. | Monitor the frequency of API calls to avoid triggering throttling. For more information about the limits, see Limits. |
iot.messagebroker.ReportInShadowMessageIsNotJson | The report information in the state information of the device shadow is not in JSON format. | Make sure that the report information in the state information of the device shadow is in JSON format. Then, retry the operation. |
iot.messagebroker.RrpcException | An exception occurred while sending the RRPC message. | Make sure that the request parameters are correct and retry the operation. |
iot.messagebroker.RrpcFailed | The Revert-RPC failed to send the message. | |
iot.messagebroker.ShadowMessageIsNotJson | The device shadow is not in JSON format. | Make sure that the device shadow is in JSON format and retry the operation. |
iot.messagebroker.ShadowMessageLengthIsLarge | The length of the device shadow exceeds the maximum limit. | Make sure that the length of the device shadow does not exceed the maximum limit and retry the operation. The size of a device shadow document is limited to 16 KB. |
iot.messagebroker.TIMEOUT | The operation failed due to a timeout. | Retry the operation. |
iot.messagebroker.TooManyElementInDesire | The total number of properties in the desire information exceeds the maximum limit. | Make sure that the total number of properties in the desire information does not exceed the maximum limit. Then, retry the operation. The number of properties in a device shadow JSON document is limited to 128. |
iot.messagebroker.TooManyElementInReport | The total number of properties in the report information exceeds the maximum limit. | Make sure that the total number of properties in the report information does not exceed the maximum limit. Then, retry the operation. The number of properties in a device shadow JSON document is limited to 128. |
iot.messagebroker.TopicAlreadyFound | The topic category name is duplicated under the same product. | Make sure that the topic category name is not duplicated under the same product. Then, retry the operation. |
iot.messagebroker.TopicTemplateCountExceedMax | The number of topic categories for the product exceeds the maximum limit. | Make sure that the number of topic categories for the product does not exceed the maximum limit. Then, retry the operation. A product can have a maximum of 50 topic categories. |
iot.messagebroker.TopicTemplateIsNotFound | The topic category does not exist. | Make sure that the topic category exists and retry the operation. You can call QueryProductTopic to view the topic categories of a product. |
iot.messagebroker.UpdateDeviceShadowMessageFailed | Failed to update the device shadow. | Make sure that the request parameters are correct and retry the operation. |
iot.messagebroker.UpdateTopicTemplateException | The procedure for updating the topic category is abnormal. | |
iot.messagebroker.UpdateTopicTemplateFailed | The topic category could not be updated. | |
iot.messagebroker.TooManyUserProperties | In MQTT 5.0, the number of custom user properties exceeds the maximum limit of 20. | Make sure that the number of custom user properties does not exceed the maximum limit. Then, retry the operation. |
iot.messagebroker.UserPropertyListExceedMaxLength | In MQTT 5.0, the total length of custom user properties exceeds the maximum limit of 8,192 characters. | Make sure that the total length of custom user properties does not exceed the maximum limit. Then, retry the operation. |
iot.messagebroker.InvalidUserProperty | In MQTT 5.0, the format of the custom user properties is invalid. | Make sure that the request parameters are correct and retry the operation. |
iot.messagebroker.CorrelationDataNotBase64Encode | In MQTT 5.0, the Correlation Data is not Base64-encoded. | Make sure that the correlation data is Base64-encoded and retry the operation. |
iot.messagebroker.NullCorrelationData | In MQTT 5.0, the Correlation Data is empty. | Make sure that the correlation data is not empty and retry the operation. |
iot.messagebroker.CorrelationDataExceedMaxLength | In MQTT 5.0, the length of the correlation data exceeds the maximum limit of 128 characters. | Make sure that the length of the correlation data does not exceed the maximum limit. Then, retry the operation. |
iot.messagebroker.InvalidMqttResponseTopic | In MQTT 5.0, the Response Topic is invalid. | Make sure that the response topic is valid and retry the operation. |
Rules engine-related error codes
Error codes that start with iot.rule or iot.ruleng, and some error codes that start with iot.messagebroker, are related to the rules engine.
If an exception or failure occurs, make sure that the request parameters are correct and retry the operation.
Error code | Description | Solution |
iot.rule.CreateRuleException | An exception occurred while creating the rule. | Make sure that the request parameters are correct and retry the operation. |
Failed to delete the rule. | The rule could not be deleted. | |
iot.rule.IncorrentRuleActionId | The rule action ID is invalid. | Call ListRuleActions to view the rule action ID. Make sure that the request parameters are correct and retry the operation. |
iot.rule.IncorrentRuleActionType | The rule action type is invalid. | Make sure that the request parameters are correct and retry the operation. For more information about the specific requirements, see the description of the Type request parameter in CreateRuleAction. |
iot.rule.NullForwardDestForRule | The data forwarding destination cannot be empty. | The data forwarding destination cannot be empty. Check whether the rule configuration is associated with a data destination. For more information about how to configure the Configuration parameter, see CreateRuleAction. |
iot.rule.NullSqlForRule | The SQL statement for the rule cannot be empty. | Check the SQL configuration in the rule and retry the operation. |
iot.rule.NotFoundRule | The rule does not exist. | Enter the correct rule ID (RuleId) and retry the operation. You can call ListRule to view the RuleId of all rules under your account. |
iot.rule.NotFoundRuleAction | The rule action does not exist. | Enter the correct rule action ID (ActionId) and retry the operation. You can call ListRuleActions to view all ActionIds under a rule. |
iot.rule.EmptyScript | The script configuration for the parser is empty. | Make sure that the parser script has been saved and submitted. Then, retry the operation. |
iot.rule.EmptyScriptDraft | The script draft is empty. | Make sure that the request parameters are correct and retry the operation. |
The script has a syntax error. | The script contains a syntax error. | |
The data source does not exist. | The data source cannot be found. | |
iot.rule.DataSourceItemNotExists | The specified data source topic does not exist. | |
iot.rule.DestinationNotBound | The parser is not associated with a data destination. | Make sure that the parser is associated with a data destination and retry the operation. |
iot.rule.destinationNotExists | The forwarding destination does not exist. | Make sure that the data destination ID is correct and retry the operation. |
iot.rule.ParseRuleActionConfigError | Failed to parse the rule action configuration. | Make sure that the request parameters are correct and retry the operation. |
iot.rule.QueryRuleActionListError | Failed to query the list of rule actions. | |
iot.rule.QueryRuleFailed | The query for Resolver information failed. | |
iot.rule.QueryRulePageActionError | Failed to retrieve the paginated rule list. | |
iot.rule.RuleActionIsAlreadyCreated | A duplicate rule action already exists. | |
The total number of rules exceeds the maximum limit. | The total number of rules exceeds the limit. | |
The rule name already exists. | A rule with this name already exists. | |
iot.rule.StartRuleFailed | Failed to start the rule. | Check whether the rule configuration is correct. Make sure that the request parameters are correct and retry the operation. |
iot.rule.StopRuleFailed | Failed to stop the rule. | Check whether the rule configuration is correct. Make sure that the request parameters are correct and retry the operation. |
iot.rule.TooManyRuleAction | The number of rule actions exceeds the maximum limit. | Make sure that the request parameters are correct and retry the operation. A rule can have a maximum of 10 data forwarding operations. |
iot.rule.UpdateRuleFailed | Failed to update the rule. | Make sure that the request parameters are correct and retry the operation. |
Failed to create the rule action. | The rule action could not be created. | |
Failed to delete the rule action. | The rule action could not be deleted. | |
iot.ruleng.IncorrectActionTypeForError | This product does not support fault forwarding rules. | |
iot.ruleng.IncorrectRegionName | Nodes in the Chinese mainland can transfer data only to destinations within the Chinese mainland. Nodes outside China can transfer data only to destinations within the same node. | |
iot.ruleng.IncorrectSysTopic | The basic communication topic or TSL model communication topic is invalid. | Make sure that the request parameters are correct and retry the operation. Specify the correct topic as described in CreateRule. |
iot.ruleng.IncorrectType | The topic type to which the rule applies is invalid. The valid values for TopicType are:
| Make sure that the request parameters are correct and retry the operation. |
iot.ruleng.InvalidEndpoint | The specified endpoint is invalid. | |
iot.ruleng.InvalidFormattedTagInConfiguration | The tag in the Configuration parameter is too long. | |
iot.ruleng.InvalidRamRole | The RAM role is invalid. | Log on to the RAM console to view the role information. Make sure that the request parameters are correct and retry the operation. |
iot.ruleng.ListInstancesError | Failed to obtain the instance list. | Make sure that the request parameters are correct and retry the operation. |
iot.ruleng.OnlyAllowOneErrorAction | A rule can forward faults to only one destination. | |
iot.ruleng.QueryInstanceError | The instance information could not be retrieved. | |
iot.ruleng.QueryRuleActionFailed | The rule action could not be retrieved. | |
iot.ruleng.RegionNotSupportRuleForwardCloudProduct | This region does not support forwarding rules to this cloud product. | Make sure that the request parameters are correct and retry the operation. For more information about the destination cloud products supported in each region, see Regions and zones. |
iot.ruleng.RuleActionConfigurationIsNotJson | The rule action configuration is not in JSON format. The value of the Configuration parameter must be in the correct JSON format. For more information, see CreateRuleAction. | Make sure that the request parameters are correct and retry the operation. |
The rule is already running. | The rule is enabled. | |
iot.ruleng.NullRamRoleArn | Provide a valid roleArn and retry the operation. | |
iot.ruleng.NullRamRoleName | Provide a valid roleName and retry the operation. | |
iot.ruleng.NullRuleActionConfig | The rule action configuration (the Configuration parameter) cannot be empty. | |
iot.ruleng.NullRuleActionType | The rule action type (the Type parameter) cannot be empty. | |
Failed to update the rule action. | The rule action could not be updated. | |
iot.messagebroker.IncorrectRuleSql | The SQL configuration of the rule is invalid. | Configure the SQL statement as described in CreateRule. Make sure that the request parameters are correct and retry the operation. |
iot.messagebroker.QueryRuleConfigActionException | An exception occurred while obtaining the rule configuration information. | Make sure that the request parameters are correct and retry the operation. |
The following tables list the unique error codes for failures to set message forwarding destinations.
Error code | Description | Solution |
iot.messagebroker.InvalidFormattedTopicName | The topic format is invalid. | View the correct topic format on the Topic List tab of the device details page in the console. Make sure that the request parameters are correct and retry the operation. |
iot.prod.NotExistedProduct | The product does not exist. | Make sure that the specified ProductKey is correct and that the product belongs to the current Alibaba Cloud account. Make sure that the request parameters are correct and retry the operation. |
iot.common.QueryProductActionError | Failed to query the product. | Make sure that the request parameters are correct and retry the operation. |
iot.ruleng.IncorrectSysTopic | The basic communication topic or TSL model communication topic is invalid. Specify the correct topic as described in CreateRule. | |
iot.messagebroker.NullTopicName | The topic name cannot be empty. |
Error code | Description | Solution |
iot.ruleng.EmptySchemaNameOfTopic | The name of the schema for the destination DataHub topic cannot be empty. | Make sure that the request parameters are correct and retry the operation. |
iot.ruleng.EmptySchemaTypeOfTopic | The type of the schema for the destination DataHub topic cannot be empty. | |
iot.ruleng.EmptySchemaValueOfTopic | The value of the schema for the destination DataHub topic cannot be empty. | |
iot.ruleng.IncorrectRegionName | The regionName is invalid. | |
iot.ruleng.IncorrectSchemaValueOfTopic | The schema value of the destination DataHub topic is invalid. | |
iot.ruleng.NullOrEmptySchemaOfTopic | The schema of the destination DataHub topic cannot be null or empty. | |
iot.ruleng.NullProjectOfDatahub | The projectName for DataHub cannot be empty. | |
iot.ruleng.NullTopicInDatahubProject | The topicName in the DataHub project cannot be empty. | |
iot.ruleng.NotFoundProjectInDataHub | This project does not exist in DataHub. Confirm the project name in DataHub. | |
iot.ruleng.NotFoundTopicInDataHubProject | This topic does not exist in the DataHub project. |
Error code | Description | Solution |
iot.ruleng.NullOtsInstanceName | The Tablestore instance name cannot be empty. | Make sure that the request parameters are correct and retry the operation. |
iot.ruleng.NullTableNameInOtsInstance | The table name in the Tablestore instance cannot be empty. | |
iot.ruleng.NullPrimaryKeyInOtsTable | The primary key of the table in Tablestore cannot be empty. | |
iot.ruleng.NullPrimaryKeyNameInOts | The name of the primary key cannot be empty. | |
iot.ruleng.NullPrimaryKeyTypeInOts | The type of the primary key cannot be empty. | |
iot.ruleng.NullPrimaryKeyValueInOts | The value of the primary key cannot be empty. | |
iot.ruleng.IncorrectPrimaryKeyValueInOtsTable | The primary key value in the Tablestore table is invalid. | In Tablestore, view the primary key that you defined when you created the data table. Make sure that the request parameters are correct and retry the operation. |
Error code | Description | Solution |
iot.ruleng.NullTopicNameInMns | The topic in Message Service (MNS) cannot be empty. | Make sure that the request parameters are correct and retry the operation. |
iot.ruleng.NotFoundTopicInMns | This topic does not exist in MNS. Confirm the topic name in MNS. | Confirm the topic name in MNS. Make sure that the request parameters are correct and retry the operation. |
iot.ruleng.QueryMnsTopicListActionError | Failed to obtain the MNS topic list. | Make sure that the request parameters are correct and retry the operation. |
Error code | Description | Solution |
iot.ruleng.NullServiceNameInFc | The Function Compute service name is empty. | Make sure that the request parameters are correct and retry the operation. |
iot.ruleng.NullFunctionNameInFc | The Function Compute function name is empty. | |
iot.ruleng.NotFoundServiceInFc | The Function Compute service does not exist. | Confirm the correct service name in Function Compute. Make sure that the request parameters are correct and retry the operation. |
Error code | Description | Solution |
iot.messagebroker.NullTopicName | The topic for receiving messages cannot be empty. | Make sure that the request parameters are correct and retry the operation. |
iot.ruleng.InstanceNotFound | The instance does not exist. | |
iot.ruleng.ListMqTopicsError | Could not retrieve the message queue topic. | |
iot.ruleng.TopicIsNotUnique | The topic is not unique. | |
iot.ruleng.TopicNotFound | The topic does not exist. |
Error code | Description | Solution |
iot.ruleng.InvalidFormattedTagNameInHitsdb | The TSDB tag format is invalid. | Make sure that the request parameters are correct and retry the operation. |
iot.ruleng.InvalidFormattedTimestampInHitsdb | The timestamp format is invalid. | |
iot.ruleng.NotBindCustomerVpc | The current instance is not attached to the user's VPC. | |
iot.ruleng.NullInstanceNameInHitsdb | The TSDB instance name is empty. | |
iot.ruleng.NullTagNameInHitsdb | The TSDB tag name is empty. | |
iot.ruleng.NullTagValueInHitsdb | The TSDB tag value is empty. | |
iot.ruleng.NullTimestampInHitsdb | The timestamp tag is empty. | |
iot.ruleng.OnlySameRegionHitsdbSupport | Only forwarding to TSDB in the same node is supported. |
Error code | Description | Solution |
iot.ruleng.GrantVpcInstanceFailed | Failed to grant authorization to the VPC-connected instance. | Make sure that the request parameters are correct and retry the operation. |
iot.ruleng.InvalidFormattedConnectionIp | The connection IP format is invalid. | |
iot.ruleng.InvalidFormattedConnectionPort | The connection port format is invalid. | |
iot.ruleng.InvalidFormattedRdsDatabaseName | The ApsaraDB RDS database name contains invalid characters. | |
iot.ruleng.InvalidFormattedRdsTableName | The ApsaraDB RDS table name contains invalid characters. | |
iot.ruleng.ListRdsAccountError | Failed to obtain the ApsaraDB RDS database account. | |
iot.ruleng.NotFoundTable | The ApsaraDB RDS database table does not exist. | |
iot.ruleng.NotFoundVpcInstance | The VPC-connected instance does not exist. | |
iot.ruleng.NotFoundVpcInstanceConnection | The VPC path for ApsaraDB RDS cannot be found. | Make sure that your ApsaraDB RDS instance is configured with a VPC network and a VPC vSwitch. Then, retry the operation. |
iot.ruleng.NotMatchedField | The ApsaraDB RDS database table fields do not match. | Make sure that the request parameters are correct and retry the operation. |
iot.ruleng.NullConnectionIp | The connection IP is empty. | |
iot.ruleng.NullConnectionPort | The connection port is empty. | |
iot.ruleng.NullRdsInstanceName | The ApsaraDB RDS instance name is empty. | |
iot.ruleng.NullRdsDatabaseName | The ApsaraDB RDS database name is empty. | |
iot.ruleng.NullRdsAccountName | The account name is empty. | |
iot.ruleng.NullRdsPassword | The account password is empty. | |
iot.ruleng.NullRdsTableName | The ApsaraDB RDS table name is empty. | |
iot.ruleng.NullRdsFieldName | The ApsaraDB RDS field name is empty. | |
iot.ruleng.NullRdsFieldValue | The ApsaraDB RDS field value is empty. | |
iot.ruleng.NullVpcInstance | The VPC-connected instance cannot be empty. | |
iot.ruleng.OnlySupportSameRegionRds | Only forwarding to ApsaraDB RDS in the same node is supported. | |
iot.ruleng.QueryServerMappingInfoError | Failed to obtain the mapping information of the VPC-connected instance. |
Server-side subscription-related error codes
Error codes that start with iot.consumer are server-side subscription-related error codes.
Error code | Description | Solution |
iot.consumer.group.CallbackTypeEmpty | CallbackType cannot be all false. | Make sure that the request parameters are correct and retry the operation. |
iot.consumer.group.ChangeDefaultConsumerGroupNotAllowed | The default consumer group cannot be modified. | |
iot.consumer.group.ConsumerGroupExceedsLimit | The number of consumer groups in the subscription relationship exceeds the limit. | |
iot.consumer.group.ConsumerGroupExceedLimit | The number of consumer groups exceeds the maximum limit. | |
iot.consumer.group.ConsumerGroupNameExisted | The consumer group name already exists. | |
iot.consumer.group.ConsumerGroupNotExist | The consumer group does not exist. | |
iot.consumer.group.CreateConsumerGroupFailed | Failed to add the consumer group. | |
iot.consumer.group.DeleteConsumerGroupFailed | Failed to delete the consumer group. | |
iot.consumer.group.InvalidConsumerGroupName | The consumer group name is invalid. | |
iot.consumer.group.InvalidConsumerGroupId | The consumer group ID is invalid. | |
iot.consumer.group.InvalidConsumerGroup | The consumer group is invalid. | |
iot.consumer.group.InvalidGroupBy | The groupby parameter is invalid. | |
iot.consumer.group.InvalidSubscribeType | The subscription type is invalid. | |
iot.consumer.group.MnsCheckFailed | MNS authentication failed. | |
iot.consumer.group.MnsNotSupport | The product to which the device is transferred does not support MNS subscription. | |
iot.consumer.group.ProductKeyExceedsLimit | The number of products subscribed to by the consumer group exceeds the limit. | |
iot.consumer.group.QueryConsumerGroupStatusFailed | Failed to query the consumer group status. | |
iot.consumer.group.UpdateConsumerGroupFailed | Failed to update the consumer group. | |
iot.consumer.group.SubscribeNotExist | The MNS or AMQP server-side subscription does not exist. |
OTA update-related error codes
Error codes that start with iot.firmware or iot.ota are OTA update-related error codes.
Error code | Description | Solution |
iot.firmware.AlreadyExistedFirmwareName | An OTA update package with the same name already exists. | Enter a new update package name and retry the operation. |
iot.firmware.AlreadyExistedFirmwareVersion | This OTA update package version already exists for the product. | Enter a new update package version and retry the operation. |
iot.firmware.BadlyFormattedGrayPercent | The format of the grayscale percentage is incorrect. | Make sure that the request parameters are correct and retry the operation. |
iot.firmware.BatchCancelDeviceUpgradeFailed | Failed to cancel the device update. | Submit a ticket. |
iot.firmware.BlankFirmwareName | The OTA update package name contains only spaces. | Make sure that the request parameters are correct and retry the operation. |
iot.firmware.CancelOTAStrategyByJobFailed | Failed to cancel the dynamic update policy associated with the dynamic batch. | Submit a ticket. |
iot.firmware.CancelOTATaskByJobFailed | Failed to cancel the batch device upgrade. | |
iot.firmware.CancelOptionIsMandatory | The cancellation parameter is not specified. | Make sure that the request parameters are correct and retry the operation. |
iot.firmware.CancelUpgradeTaskFailed | Failed to cancel the update batch. | Submit a ticket. |
iot.firmware.CreateFirmwareFailure | Failed to create the over-the-air update package. | |
iot.firmware.CreateOTAUpgradeJobFailure | Failed to create the batch upgrade task. | |
iot.firmware.DeleteFirmwareFailure | The OTA update package could not be deleted. | |
iot.firmware.DeviceUpgradeRecordNotFound | The device is not in the update process. | Confirm that the update job is in progress. Make sure that the request parameters are correct and retry the operation. |
iot.firmware.DeviceWithDestinationVersionInArray | The device version number is the same as the destination version number. | Check whether any devices have been successfully updated. |
iot.firmware.DynamicGrayNotSupported | Dynamic grayscale update is not supported. | This feature is not currently supported. |
Dynamic-specific firmware is not supported. | You cannot perform dynamic targeted upgrades. | |
iot.firmware.EmptyFirmwareFile | The OTA update package file size is 0. | Make sure that the uploaded update package file is correct and retry the operation. |
iot.firmware.FireTimeMustLargeThanCurrentTime | The scheduled update time must be later than the current time. | Make sure that the request parameters are correct and retry the operation. |
iot.firmware.FireTimeTooLate | The scheduled upgrade must be within the next 7 days. | |
iot.firmware.FireTimeTooShort | The scheduled upgrade time must be at least 5 minutes after the current time. | |
Firmware and ProductKey Mismatch | The ProductKey of the over-the-air update package is invalid for the product. | |
iot.firmware.FirmwareCountExceedMax | The number of OTA update packages exceeds the maximum limit of 500. | Delete unused update packages and retry the operation. |
iot.firmware.FirmwareDescriptionExceedMaxLength | The number of characters in the OTA update package description exceeds 100. | Make sure that the request parameters are correct and retry the operation. |
iot.firmware.FirmwareNotFound | The over-the-air update package was not found. | |
iot.firmware.FirmwareNotVerified | The OTA update package has not been verified. The update cannot be initiated. | Verify the update package first, and then retry the operation. |
iot.firmware.GenerateOTAUploadURLFailure | Failed to generate the update package upload URL. | Make sure that the request parameters are correct and retry the operation. |
Gray release supports only static devices. | Grayscale upgrades are only supported for static upgrades. | |
iot.firmware.InProgressDynamicJobExisted | A dynamic batch is already in progress. | You can initiate only one dynamic update for each update package. Cancel the existing dynamic update batch and retry the operation. |
iot.firmware.InProgressVerifyJobExisted | An unfinished OTA update package verification task exists. | Complete the existing update package verification task before initiating a new one. |
iot.firmware.IncorrectDeviceUpgradeJobStatus | The status of the device update record to be canceled is incorrect. | The update record cannot be canceled. Confirm whether the update record is in progress. |
iot.firmware.IncorrectFormattedFirmwareName | The OTA update package name format is invalid. | Make sure that the request parameters are correct and retry the operation. |
iot.firmware.IncorrectFormattedFirmwareVersion | The version format for the OTA update package is invalid. | |
The module name format is invalid. | The module name is in an invalid format. | |
iot.firmware.IncorrectlyFormattedSrcVersion | The format of the start version is invalid. | |
iot.firmware.InvalidDynamicMode | The dynamic upgrade pattern is invalid. | |
iot.firmware.InvalidFirmware | The over-the-air update package is invalid. | |
iot.firmware.InvalidFirmwareId | The OTA update package ID is invalid. | |
iot.firmware.InvalidFirmwareSign | The signature of the OTA update package is invalid. | |
iot.firmware.InvalidFirmwareSignMethod | The signing method of the OTA update package is invalid. | |
The OTA update package size is invalid. | The OTA update package size is invalid. | |
iot.firmware.InvalidFirmwareType | The OTA update package type is invalid. | |
iot.firmware.InvalidFirmwareUrl | The specified URL is invalid for an IoT Platform OTA update package. | |
The parameter for generating the update package upload URL is invalid. | The parameters to generate the URL to upload the upgrade package are invalid. | |
The grayscale percentage is invalid. | The grayscale ratio is invalid. | |
iot.firmware.InvalidMaximumPerMinute | The specified rollout rate is invalid. | |
iot.firmware.InvalidOTAJobId | The batch ID is invalid. | |
iot.firmware.InvalidOTATaskId | The specified upgrade record ID is invalid. | |
iot.firmware.InvalidOverwriteMode | The overwrite pattern is invalid. | |
iot.firmware.InvalidProductKey | The ProductKey is invalid. | |
iot.firmware.InvalidRetryCount | An incorrect value is used for the automatic retry count. | |
iot.firmware.InvalidRetryInterval | The automatic retry interval is configured incorrectly. | |
iot.firmware.InvalidSelectionType | The selected type is invalid. | |
iot.firmware.InvalidTargetSelection | The selected target is invalid. | |
iot.firmware.InvalidTaskStatus | The status of the upgrade record is incorrect. | |
iot.firmware.InvalidTimeoutSetting | Invalid Timeout Settings | |
iot.firmware.JobAlreadyCanceled | The batch was canceled. | |
The IoT firmware job does not have a scheduled time. | The batch is not scheduled. | |
Failed to obtain the OTA update package list. | Failed to retrieve the over-the-air update package list. | |
iot.firmware.ListOTAJobFailed | The upgrade batch list could not be queried. | |
iot.firmware.ListOTAModuleFailed | The query for the module list failed. | |
Failed to query the module list for the product. | The query for the module list for the product failed. | |
Failed to query the update records for the device. | Could not query the device upgrade records. | |
Failed to query the update records for the batch. | The query for the batch upgrade records failed. | |
iot.firmware.MalformedFirmwareUrl | The resource URL for the OTA update package is invalid. | |
The number of modules exceeds the maximum limit. | The maximum number of modules has been exceeded. | |
A reserved module name is used. Choose another module name. | Choose a different module name and retry the operation. | |
A batch update for a differential OTA update package can only specify one source version. | Batch upgrades that use differential OTA update packages support only one source version. | |
iot.firmware.NoDeviceCanUpgrade | No devices found that can be updated. | Check whether the device has been successfully updated. |
iot.firmware.NonVersionedDeviceInArray | The device array parameter contains a device that has not reported a version or has reported an invalid version number. | Make sure that the request parameters are correct and retry the operation. |
iot.firmware.NotDynamicJob | Only dynamic upgrade policies associated with dynamic batches can be canceled. | |
iot.firmware.NullFirmwareId | The OTA update package ID is not specified. | |
iot.firmware.NullFirmwareName | The OTA update package name is not specified. | |
iot.firmware.NullFirmwareUrl | The over-the-air update package has an empty resource URL. | |
iot.firmware.NullFirmwareVersion | The OTA update package version is not specified. | |
iot.firmware.NullGrayPercent | The grayscale upgrade's grayscale ratio is empty. | |
iot.firmware.NullOTAJobId | The batch ID is missing. | |
iot.firmware.NullSelectionType | No type is selected. | |
iot.firmware.NullSrcVersions | The list of version numbers to upgrade is empty. | |
iot.firmware.NullTargetDeviceNames | The static targeted upgrade has an empty device scope. | |
iot.firmware.NullTargetSelection | No target is selected. | |
iot.firmware.NullTaskId | The batch ID is not specified. | |
iot.firmware.ParameterSizeExceedsMaximum | The number of lists exceeds the maximum limit. | |
The firmware upgrade failed because the firmware could not be verified. | You cannot retry the upgrade because the OTA update package failed authentication. | |
The specified scheduled end time must be later than the scheduled start time. | Adjust the scheduled times so that the end time is after the start time and retry the operation. | |
The scheduled update end time must be at least 60 minutes after the start time. | The scheduled upgrade must have a duration of at least 60 minutes. | |
iot.firmware.ScheduleFinishTimeTooLate | A scheduled upgrade must be completed within 30 days of its start time. | |
iot.firmware.ScheduledFinishTimeWithoutStartTime | Provide both a scheduled start time and end time and retry the operation. | |
iot.firmware.SrcDestVersionMatched | The source and target versions are identical. | |
iot.firmware.SrcVersionIsMandatory | The corresponding base version for the differential package is missing. | |
iot.firmware.SrcVersionMismatch | The current device version does not match the target version in the OTA upgrade package. | |
Specifying a source version list is not allowed. | You cannot specify multiple source versions. | |
The size of the source version list exceeds the maximum limit. | The number of source versions exceeds the limit. | |
iot.firmware.SystemBusy | The system is busy. Retry the operation later. | If the issue persists after retrying, submit a ticket. |
iot.firmware.SystemBusyAtScheduledTime | Adjust the scheduled update time and retry the operation. | |
iot.firmware.TargetDeviceNamesNotAllowed | Specifying devices for a static targeted update is not allowed. | Make sure that the request parameters are correct and retry the operation. |
iot.firmware.TooManyDeviceUpgrade | Too many devices are being updated. Retry the operation later. | Make sure that the request parameters are correct and retry the operation after one minute. |
Too many devices are scheduled to be updated at the specified time. Modify the scheduled update time. | Adjust the scheduled update time to a less busy period and retry the operation. | |
iot.firmware.UpgradeSrcVersionMismatch | The update source version is inconsistent with the differential OTA update package source version. | Make sure that the request parameters are correct and retry the operation. |
iot.firmware.VerifyFirmwareFailed | Failed to verify the OTA update package. | Submit a ticket. |
iot.firmware.InvalidOTATaskId | The TaskId in the request parameters does not exist. | Make sure that the request parameters are correct and retry the operation. |
iot.firmware.InvalidTaskStatus | The device upgrade job is not in the Unconfirmed state. | |
iot.firmware.JobTagIsTooLong | When you create an upgrade batch task, the total number of characters for the tags cannot exceed 4096. | |
iot.firmware.JobTagKeyInvalid | The tag key for the upgrade batch task is invalid. | |
iot.firmware.JobTagValueInvalid | The specified tag value is invalid for the upgrade batch task. | |
iot.firmware.JobTagTooMany | In the create update batch job, the number of | |
iot.ota.PackageFileAmountExceed | The number of files for the upgrade package exceeds the limit of 20. | |
iot.ota.PackageFileParamConflict | The request to create an upgrade package contains conflicting file parameters. You cannot set parameters for both a single file and multiple files in the same request. | |
In the create update package request, the names of multiple update package files are duplicated. | The creation request contains duplicate upgrade package file names. | |
iot.ota.PackageFileUrlDuplicated | The upgrade package creation request contains duplicate file URLs. | |
The signature of the OTA package file is duplicated. | The request to create an upgrade package contains the same signature value for multiple files. | |
The Key in the tag list is duplicated. | The tag list cannot contain duplicate keys. | |
iot.ota.CreateOTAModuleFailure | An exception occurred while creating the OTA module. | Submit a ticket. |
iot.ota.CreateOTAModuleParamError | The parameters in the request to create the OTA module are invalid. | Make sure that the request parameters are correct and retry the operation. |
iot.ota.CreateOTAModuleExceedLimit | The number of OTA modules for the product exceeds the limit. | Delete the unused modules and retry the operation. |
iot.ota.CreateOTAModuleNameExist | The name of the OTA module to be created is duplicated. | Make sure that the specified module name is not the same as an existing module name. Then, retry the operation. |
iot.ota.UpdateOTAModuleFailure | An exception occurred while updating the OTA module. | Submit a ticket. |
iot.ota.UpdateOTAModuleParamError | The parameters in the request to update the OTA module are invalid. | Make sure that the request parameters are correct and retry the operation. |
iot.ota.DeleteOTAModuleParamError | The request to delete the OTA module contains an invalid parameter. | |
iot.ota.DeleteOTAModuleFailure | An error occurred during the OTA module deletion procedure. | |
An OTA module that has an update package cannot be deleted. | An OTA module that contains an upgrade package cannot be deleted. | |
iot.ota.DeleteOtaDefaultModule | The default module is required and cannot be deleted. | |
iot.ota.ListOTAModuleParamError | The request to query the OTA module list contains an invalid parameter. | |
iot.ota.ListOTAModuleFailure | An exception occurred during the OTA module list query. | |
iot.ota.OTAModuleNotExist | If you attempt to delete or update an OTA module, the following error is reported: The OTA module for the product does not exist. | |
iot.ota.TooManyOtaTask | The number of TaskIds for the TaskId.N request parameter exceeds the maximum limit. | |
iot.ota.TaskIdIsNull | The TaskId.N request parameter cannot be empty. | |
iot.ota.ConfirmNotAllowedNow | You cannot upgrade the device or confirm a pending device upgrade job at this time. | |
iot.ota.EmptyDeviceInfoParams | The device information parameter cannot be empty. | |
iot.ota.InvalidOtaModuleName | The specified OTA module name is in an invalid format. | |
iot.ota.GroupNotExist | The device group could not be found. Verify the request parameters and retry the operation. | |
iot.ota.DynamicGroupExpressionInvalid | Ensure that both module name and version are present in the dynamic group rule and retry the operation. | |
iot.ota.DynamicGroupTaskCountExceedLimit | The maximum number of upgrade batches for a dynamic group is 5. | |
iot.ota.UpgradeDeviceCountExceedLimit | The number of devices to be updated exceeds the limit. For more information about the limits, see OTA update limits. | Submit a ticket. |
iot.ota.GroupUpgradeTenantInvalid | The group update initiated by the current Alibaba Cloud account is invalid. Make sure that the request parameters are correct and retry the operation. | Ensure that the input parameters are correct and then retry. |
iot.ota.GroupTypeInvalid | The group type specified for the group upgrade is invalid. Ensure that the request parameters are correct and retry the operation. | |
iot.firmware.FirmwareVerificationNotRequired | No verification is required for this update package. | |
iot.ota.DownloadProtocolInvalid | The download protocol for the upgrade package in the current batch task is invalid. | |
The MQTT protocol is not designed for file downloads. | You cannot download upgrade packages for batch jobs using Message Queuing Telemetry Transport (MQTT). | |
iot.ota.DynamicGroupConflict | For a new update batch initiated based on a dynamic group, the settings of OverwriteMode and MultiModuleMode are inconsistent with those of the existing dynamic update batch for that group. | |
iot.ota.OverWriteAndMultiModuleConflict | OverwriteMode set to 2 and MultiModuleMode set to true cannot take effect at the same time. | |
iot.ota.dynamicGroupForbiddenInDefaultInstance | Devices in older public instances do not support dynamic group updates. | Older public instances do not support the dynamic group feature. |
iot.ota.multiModuleModeForbiddenInDefaultInstance | Devices in older public instances do not support the feature of updating multiple modules at the same time. | Older public instances do not support the feature of updating multiple modules at the same time. |
iot.ota.InvalidTaskExist | The update job list contains at least one update job that is not failed or canceled. | Make sure that the request parameters are correct and retry the operation. |
iot.ota.UnmatchedJob | The upgrade batch ID does not match the upgrade job ID. | |
iot.ota.JobCanceled | The batch upgrade job has been canceled. | |
iot.ota.InvalidJobId | The specified upgrade batch ID is invalid. | |
iot.ota.InvalidFirmwareUid | The upgrade package was not found. | |
iot.ota.InvalidTaskId | The specified upgrade job ID does not exist. | |
iot.ota.FailedTaskNotFound | The upgrade batch contains no failed or canceled upgrade jobs. | |
iot.ota.DeviceNotReUpgraded | There are no devices available for upgrade. | |
iot.ota.DeviceNotExist | The device does not exist. | Make sure that the specified device information is correct and retry the operation. |
iot.ota.FirmwareNotVerified | The update package has not been verified. The re-update cannot be initiated. | Verify the update package first, and then retry the operation. |
iot.ota.NotFirmwareOwner | The current user is not the owner of the update package. | This user does not have permission to perform this operation. Make sure that the request parameters are correct and retry the operation. |
Letter Sending Service-related error codes
Error codes that start with iot.deviceprint are Letter Sending Service-related error codes.
Error code | Description | Solution |
iot.deviceprint.ProjectNotFound | The project does not exist. | Make sure that the device is associated with a Letter Sending Service project. Then, retry the operation. |
iot.deviceprint.ProjectHasStopped | The project has been stopped. | Make sure that the project to which the device belongs is enabled. Then, retry the operation. |
iot.deviceprint.InvalidDevice | The printing device is invalid. | Make sure that the IotId, ProductKey, and DeviceName parameters are correct. Then, retry the operation. |
iot.deviceprint.DeviceNotActived | The printing device is not activated. | Make sure that the device has connected to IoT Platform. Then, retry the operation. |
iot.deviceprint.DeviceOffline | The printing device is offline. | Make sure that the device is connected to IoT Platform. Then, retry the operation. |
iot.deviceprint.RequestLimit | The number of requests is too high and has been throttled. Retry the operation later. | Make sure that the Printing Service Invocation TPS specification for the activated service is greater than the actual usage. Then, retry the operation. |
iot.printservice.NotSigned | The Letter Sending Service is not activated. | Make sure that the Letter Sending Service is activated. Then, retry the operation. |
iot.deviceprint.PrintingTemplateNotExists | The printing template does not exist. | Make sure that the TemplateBizCode parameter is correct and retry the operation. |
iot.deviceprint.PrintingParamsError | The printing parameters are invalid. | Make sure that the ParamsJsonString parameter is correct and retry the operation. |
iot.deviceprint.UnknownResponse | Unknown response from the printing device. | Make sure that the Printing Response Format from the device is correct. Then, retry the operation. |
iot.deviceprint.MismatchingPrintId | The printing ID does not match. | Make sure that the Printing ID from the device is correct. Then, retry the operation. |
DataService Studio-related error codes
Error code | Description | Solution |
iot.dap.noServeJobExit | The task corresponding to the DataService Studio API operation does not exist. | Make sure that the request parameters are correct and retry the operation. |
iot.dap.serveApiPathRepetition | The service API operation address is duplicated. The specified ApiPath already exists. | |
iot.dap.serveApiInvalidParam | The parameter check for calling the service API operation failed. | |
iot.dap.serveApiPublishStatusError | Pass the test before publishing the task. | |
iot.dap.serveApiDeleteStatusError | A published task cannot be deleted. | |
iot.dap.serveApiPublishedNotEditable | A published task cannot be edited. | |
iot.dap.folderHasServeApiPublished | A published service API operation exists. The folder cannot be deleted. | |
iot.dap.serveApiNoPublished | The service API operation is not in the published state and cannot be rolled back. | |
iot.dap.duplicateTableNameError | The resource table name is duplicated. | |
iot.dap.serveApiAlreadyPublished | The service API operation has been published. | |
iot.dap.serveApiPathIsEmpty | The service API operation address cannot be empty. | |
iot.dap.serveApiSqlTemplateError | The SQL template information is abnormal. Verify and update it, and then try to call the service. | |
iot.dap.serveApiSqlInvokeParamError | SQL parameter error. The type and value do not match. | |
iot.dap.syncStartPipelineError | Failed to start the task. | |
iot.dap.methodTimeout | The API operation call timed out. |