設備的部分信息,如廠商、設備型號等,可以作為設備標簽上報。您也可以查詢、刪除設備包含的標簽信息。本文介紹上報、查看和刪除設備標簽的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設備不存在。