调用该接口将设备自定义Topic数据写入时序数据存储。
使用说明
仅标准型和尊享型企业版实例下,支持调用该接口写入时序数据。
时序数据存储详细说明,请参见配置时序数据存储。
使用限制
调用该接口的每秒请求写入数据数,由您购买实例下的时序数据存储IOPS规格决定。详细内容,请参见购买企业版实例和查看时序数据存储IOPS。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
名称 |
类型 |
是否必选 |
示例值 |
描述 |
Action | String | 是 | WriteDevicesHotStorageData | 系统规定参数。取值:WriteDevicesHotStorageData。 |
IotInstanceId | String | 是 | iot-2w**** | 实例ID。您可在物联网平台控制台的实例概览页面,查看当前实例的ID。 |
Items | String | 是 | { "Power": { "value": "on", "time": 1524448722000 }, "WF": { "value": 23.6, "time": 1524448722000 } } | 写入的数据,固定为如下JSON数据结构。
|
UserTopic | String | 是 | user/a***/b*** | 自定义Topic。从 自定义Topic详细说明,请参见自定义Topic。 |
ProductKey | String | 否 | a1BwAGV**** | 设备所属的产品ProductKey。 重要 如果传入该参数,需同时传入DeviceName。 |
DeviceName | String | 否 | device1 | 设备的名称。 重要 如果传入该参数,需同时传入ProductKey。 |
IotId | String | 否 | y4u2weAI********HMle1234 | 设备ID。 重要 IotId作为设备唯一标识符,和ProductKey与DeviceName组合是一一对应的关系。如果传入该参数,则无需传入ProductKey和DeviceName。如果您同时传入IotId和ProductKey与DeviceName组合,则以IotId为准。 |
调用API时,除了本文介绍的该API的特有请求参数,还需传入公共请求参数。公共请求参数说明,请参见公共参数文档。
返回数据
名称 |
类型 |
示例值 |
描述 |
Code | String | iot.system.SystemException | 调用失败时,返回错误码。详细信息,请参见下文错误码。 |
ErrorMessage | String | 系统异常 | 调用失败时,返回的出错信息。 |
RequestId | String | E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565 | 阿里云为该请求生成的唯一标识符。 |
Success | Boolean | true | 是否调用成功。
|
示例
请求示例
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
&<公共请求参数>
正常返回示例
XML
格式
<WriteDevicesHotStorageDataResponse>
<RequestId>E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565</RequestId>
<Success>true</Success>
</WriteDevicesHotStorageDataResponse>
JSON
格式
{
"RequestId": "E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565",
"Success": true
}
错误码
HttpCode |
错误码 |
错误信息 |
描述 |
400 | iot.device.InvalidFormattedDeviceName | The DeviceName format is invalid. | 设备名称格式错误。 |
400 | iot.device.NullDeviceName | The DeviceName parameter cannot be empty. | 设备名称不能为空。 |
400 | iot.device.SetDevicePropertyFailed | An error occurred while setting the device properties. | 设置设备属性失败。 |
400 | iot.prod.InvalidFormattedProductkey | The ProductKey format is invalid. | 入参产品ProductKey格式错误。 |
400 | iot.prod.NotExistedProduct | The specified product does not exist. | 指定的产品不存在。 |
400 | iot.prod.NullProductKey | The ProductKey parameter cannot be empty. | 入参产品ProductKey不能为空。 |
400 | iot.check.InvalidFormattedParameter | The parameter format is invalid. | 参数格式错误。 |
400 | iot.messagebroker.HALFCONN | The specified operation has failed. The device is in an inactive status. | 设备处于非活跃可能心跳失败。 |
400 | iot.messagebroker.OFFLINE | The specified operation has failed. The device is offline. | 由于设备离线导致失败。 |
400 | iot.prod.QueryProductAbilitiesFailed | An error occurred while querying the product features. | 获取产品功能失败。 |
400 | iot.system.IllegalRequest | The request parameter is invalid. | 非法的请求参数。 |
400 | iot.dataalgo.ScriptMethodNotFound | Method is not found in script. | 脚本中方法找不到。 |
400 | iot.dataalgo.ScriptExecutionTimeout | Script execution timeout. | 脚本执行超时。 |
400 | iot.dataalgo.ScriptExecutionOomException | Script execution is out of memory. | 脚本执行超出内存限制。 |
400 | Iot.Device.NotExistedDevice | The device does not exist. | 设备不存在或未激活。 |
400 | iot.device.InvalidIoTId | The specified device ID is invalid. | 设备ID错误。 |
400 | iot.dataalgo.ScriptExecutionException | Script execution exception. | 脚本执行异常。 |
400 | iot.prod.QueryPropertyNotFound | Query property not found. | 查询属性不存在。 |
400 | iot.dataalgo.ScriptDataFormatException | Script function result format is incorrect. | 脚本格式不正确。 |
400 | iot.dataalgo.ScriptRelationNotExist | Script relation not exist. | 脚本关系不存在。 |
400 | iot.tsl.TslParseError | TSLlParseError: %s. | TSL解析错误: %s。 |
400 | iot.tsl.InvalidFormattedTslError | The TSL format is invalid. | TSL格式错误。 |
400 | iot.tsl.InvalidHistoryTimestampError | The history timestamp is invalid. | 无效的历史时间戳。 |
400 | iot.storage.HotStorageCapacityNotEnough | The timeline storage capacity not enough. | 时序存储容量不足。 |
400 | iot.storage.HotStorageIopsWriteNotEnough | The timeline storage write IOPS is not enough. | 时序存储写IOPS不足。 |
访问错误中心查看更多错误码。