设备的部分信息,如厂商、设备型号等,可以作为设备标签上报。您也可以查询、删除设备包含的标签信息。本文介绍上报、查看和删除设备标签的Topic和数据格式。

上报标签信息

上行。

  • 请求Topic:/sys/${productKey}/${deviceName}/thing/deviceinfo/update
  • 响应Topic:/sys/${productKey}/${deviceName}/thing/deviceinfo/update_reply

Alink请求数据格式:

{
    "id": "123",
    "version": "1.0",
    "sys":{
        "ack":0
    },
    "params":[
        {
            "attrKey": "Temperature",
            "attrValue": "36.8"
        }
    ],
    "method": "thing.deviceinfo.update"
}

Alink响应数据格式:

{
    "id": "123",
    "code": 200,
    "data": {}
}

参数说明:

参数类型说明
idString消息ID号。String类型的数字,取值范围0~4294967295,且每个消息ID在当前设备中具有唯一性。
versionString协议版本号,目前协议版本号唯一取值为1.0。
sysObject扩展功能的参数,其下包含各功能字段。
说明 使用设备端SDK开发时,如果未设置扩展功能,则无此参数,相关功能保持默认配置。
ackIntegersys下的扩展功能字段,表示是否返回响应数据。
  • 1:云端返回响应数据。
  • 0:云端不返回响应数据。
重要 该功能配置说明,请参见物模型使用示例

如果未配置该功能,则无此参数,云端默认返回响应数据。

paramsObject

请求参数,包含标签的键attrKey和值attrValue

params元素个数不超过200个。

methodString请求方法,取值thing.deviceinfo.update
attrKeyString标签Key。支持英文字母、数字、下划线(_)、短划线(-)、井号(#)、at(@)、百分号(%)、and(&)、星号(*)和点号(.),长度不超过30个字符。
attrValueString标签的值。支持中文、英文字母、数字、日文、下划线(_)和短划线(-)、井号(#)、at(@)、百分号(%)、and(&)、英文冒号(:)和点号(.),长度不超过128个字符,一个中文或日文占2个字符。
codeInteger结果信息,200表示成功。

错误码:

错误码消息描述
460request parameter error请求参数错误。
6100device not found设备不存在。

查询标签信息

重要
  • 单次查询的标签数量不能超过10个。
  • 仅支持查询您自定义的标签,不支持查询物联网平台系统的内部标签信息。
  • 查询标签信息时,必须指定待查询的标签键。若不指定任何标签键,则返回的标签数据为空。

上行

  • 请求Topic:/sys/${productKey}/${deviceName}/thing/deviceinfo/get
  • 响应Topic:/sys/${productKey}/${deviceName}/thing/deviceinfo/get_reply
Alink请求数据格式:
{
    "id": "123",
    "version": "1.0",
    "params":{ 
        "attrKeys":["attrKey1", "attrKey2", "attrKey3"]
    },
    "method": "thing.deviceinfo.get"
}
Alink响应数据格式:
{
    "id": "123",
    "code": 200,
    "data": [
        {
            "attrKey1":"v1"
        },
        {
            "attrKey2":"v2"
        },
        {
            "attrKey3":"v3"
        }
    ]
}
参数说明:
参数类型说明
idString消息ID号。String类型的数字,取值范围0~4294967295,且每个消息ID在当前设备中具有唯一性。
versionString协议版本号,目前协议版本号唯一取值为1.0。
paramsObject请求参数,包含要查询标签的标签键列表attrKeys
attrKeysJSONArray标签键列表,包含要查询的标签键。
说明
  • 如果某一个标签键不合法,例如标签键重复,查询结果会返回异常。
  • 如果某一个标签键不存在,查询结果正常返回空数据。
设备标签的键值对配置说明,请参见添加设备标签
methodString请求方法,取值thing.deviceinfo.get
dataJSONArray返回的标签列表信息,包含查询的标签键和标签值。
codeInteger结果信息,200表示成功。
错误码:
错误码消息描述
460request parameter error请求参数错误。

例如:attrKeys类型不为JSONArray,标签键为空、重复或超出最大查询数量限制(10)。

429too many requests请求QPS过高,已被限流。
目前单个阿里云账号的每秒请求数(QPS)最大限制为50。
说明 RAM用户共享阿里云账号配额。

删除标签信息

上行。

  • 请求Topic:/sys/${productKey}/${deviceName}/thing/deviceinfo/delete
  • 响应Topic:/sys/${productKey}/${deviceName}/thing/deviceinfo/delete_reply

Alink请求数据格式:

{
    "id": "123",
    "version": "1.0",
    "sys":{
        "ack":0
    },
    "params": [
        {
            "attrKey": "Temperature"
        }
    ],
    "method": "thing.deviceinfo.delete"
}

Alink响应数据格式:

{
    "id": "123",
    "code": 200,
    "data": {}
}

参数说明:

参数类型说明
idString消息ID号。String类型的数字,取值范围0~4294967295,且每个消息ID在当前设备中具有唯一性。
versionString协议版本号,目前协议版本号唯一取值为1.0。
sysObject扩展功能的参数,其下包含各功能字段。
说明 使用设备端SDK开发时,如果未设置扩展功能,则无此参数,相关功能保持默认配置。
ackIntegersys下的扩展功能字段,表示是否返回响应数据。
  • 1:云端返回响应数据。
  • 0:云端不返回响应数据。
重要 该功能配置说明,请参见物模型使用示例

如果未配置该功能,则无此参数,云端默认返回响应数据。

paramsObject请求参数,包含要删除的标签键attrKey参数。
methodString请求方法,取值thing.deviceinfo.delete
attrKeyString要删除的标签键。
codeInteger结果信息,200表示成功。

错误码:

错误码消息描述
460request parameter error请求参数错误。
6100device not found设备不存在。