Writes the data of a custom topic to time series data storage.
Usage notes
The WriteDevicesHotStorageData operation is available only for Standard and Exclusive Enterprise Edition instances.
Limits
The volume of data that you can write per second to the time series data storage of an Enterprise Edition instance by calling this operation varies based on the value that you specified for the Time-series Data Storage IOPS parameter when you purchased the instance. For more information, see Purchase Enterprise Edition instances.
Debugging
Request parameters
Parameter | Type | Required | Example | Description |
Action | String | Yes | WriteDevicesHotStorageData | The operation that you want to perform. Set the value to WriteDevicesHotStorageData. |
IotInstanceId | String | Yes | iot-2w**** | The instance ID. You can view the instance ID on the Overview page in the IoT Platform console. |
Items | String | Yes | { "Power": { "value": "on", "time": 1524448722000 }, "WF": { "value": 23.6, "time": 1524448722000 } } | The data that you want to write. Specify the value in a JSON object.
|
UserTopic | String | Yes | user/a***/b*** | The name of the custom topic. Specify other levels that are required by the custom topic after the For more information, see Use custom topics. |
ProductKey | String | No | a1BwAGV**** | The ProductKey of the product to which the device belongs. Important If you specify this parameter, you must also specify DeviceName. |
DeviceName | String | No | device1 | The DeviceName of the device. Important If you specify this parameter, you must also specify ProductKey. |
IotId | String | No | y4u2weAI********HMle1234 | The device ID. Important IotId specifies a GUID for the device. The value of IotId is equivalent to the combination of the values of ProductKey and DeviceName. If you specify this parameter, you do not need to specify ProductKey or DeviceName. If you specify IotId, ProductKey, and DeviceName, the value of IotId takes precedence. |
In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this operation. For more information, see Common parameters.
Response parameters
Parameter | Type | Example | Description |
Code | String | iot.system.SystemException | The error code returned if the request failed. For more information, see the Error codes section of this topic. |
ErrorMessage | String | A system exception occurred. | The error message returned if the request failed. |
RequestId | String | E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565 | The request ID. |
Success | Boolean | true | Indicates whether the request was successful. Valid values:
|
Examples
Sample requests
http(s)://iot.cn-shanghai.aliyuncs.com/?Action=WriteDevicesHotStorageData
&IotInstanceId=iot-2w****
&Items={ "Power": { "value": "on", "time": 1524448722000 }, "WF": { "value": 23.6, "time": 1524448722000 } }
&UserTopic=user/a***/b***
$ProductKey=a1BwAGV****
$DeviceName=device1
&<Common request parameters>
Sample success responses
XML
format
<WriteDevicesHotStorageDataResponse>
<RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>
<Success>true</Success>
</WriteDevicesHotStorageDataResponse>
JSON
format
{
"RequestId": "E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565",
"Success": true
}
Error codes
HTTP status code | Error code | Error message | Description |
400 | iot.device.InvalidFormattedDeviceName | The DeviceName format is invalid. | The format of DeviceName is invalid. |
400 | iot.device.NullDeviceName | The DeviceName parameter cannot be empty. | DeviceName is not specified. |
400 | iot.device.SetDevicePropertyFailed | An error occurred while setting the device properties. | The system failed to configure the device properties. |
400 | iot.prod.InvalidFormattedProductkey | The ProductKey format is invalid. | The format of ProductKey is invalid. |
400 | iot.prod.NotExistedProduct | The specified product does not exist. | The product that you specify does not exist. |
400 | iot.prod.NullProductKey | The ProductKey parameter cannot be empty. | ProductKey is not specified. |
400 | iot.check.InvalidFormattedParameter | The parameter format is invalid. | The formats of one or more parameters are invalid. |
400 | iot.messagebroker.HALFCONN | The specified operation has failed. The device is in an inactive status. | The heartbeat failed to be detected when the device is inactive. |
400 | iot.messagebroker.OFFLINE | The specified operation has failed. The device is offline. | The system failed to connect the device to IoT Platform when the device is offline. |
400 | iot.prod.QueryProductAbilitiesFailed | An error occurred while querying the product features. | The system failed to obtain the features of the product. |
400 | iot.system.IllegalRequest | The request parameter is invalid. | One or more request parameters are invalid. |
400 | iot.dataalgo.ScriptMethodNotFound | Method is not found in script. | The method does not exist in the script. |
400 | iot.dataalgo.ScriptExecutionTimeout | Script execution timeout. | A timeout error occurred when the script was being run. |
400 | iot.dataalgo.ScriptExecutionOomException | Script execution is out of memory. | The memory usage limit is exceeded when the script was being run. |
400 | Iot.Device.NotExistedDevice | The device does not exist. | The device does not exist or is not activated. |
400 | iot.device.InvalidIoTId | The specified device ID is invalid. | The device ID is invalid. |
400 | iot.dataalgo.ScriptExecutionException | Script execution exception. | An exception occurred when the script was being run. |
400 | iot.prod.QueryPropertyNotFound | Query property not found. | The properties that you queried do not exist. |
400 | iot.dataalgo.ScriptDataFormatException | Script function result format is incorrect. | The script format is invalid. |
400 | iot.dataalgo.ScriptRelationNotExist | Script relation not exist. | The script relationship does not exist. |
400 | iot.tsl.TslParseError | TSLlParseError: %s. | The %s Thing Specification Language (TSL) parsing error occurred. |
400 | iot.tsl.InvalidFormattedTslError | The TSL format is invalid. | The format of the TSL data is invalid. |
400 | iot.tsl.InvalidHistoryTimestampError | The history timestamp is invalid. | The timestamp that you specify is invalid. |
400 | iot.storage.HotStorageCapacityNotEnough | The timeline storage capacity not enough. | The capacity of time series data storage is insufficient. |
400 | iot.storage.HotStorageIopsWriteNotEnough | The timeline storage write IOPS is not enough. | The write IOPS of time series data storage is insufficient. |
For a list of error codes, see Service error codes.