设备标签

物联网平台的设备标签是给设备添加自定义的标识。您可以使用标签功能来灵活管理产品、设备和分组。

前提条件

需物模型初始化完成后(on_thing_enable回调被SDK触发之后)才能使用设备标签的API。

功能介绍

设备标签的结构为键值对,Key:Value

您可以根据设备的特性为设备添加特有的标签,方便对设备进行管理。例如,为房间201的智能电表定义一个标签为room:201。您可以在控制台管理设备标签,也可以通过Python SDK API管理设备标签。

SDK使用

  • 版本需求

    Aliyun IoT Python SDK version >= 1.0.1

  • 更新标签

    通过thing_update_tags的接口可以添加以及更新标签,示例如下:

    tags = {
        "floor": "2f",
        "room": "201"
    }
    rc, request_id = linkkit.thing_update_tags(tags)
    if rc == 0:
       printf("success")
         

    该接口异步向云平台提交一个更新标签的请求,返回rcrequest_idrc为0时表示成功,request_id为请求ID,可以在异步的回调函数中通过该ID获取最终的结果。

    执行结果将异步返回,可以通过设置回调函数on_thing_device_info_update 获得相关结果,示例如下:

    linkkit.on_thing_device_info_update = on_thing_device_info_update
    ...
    def on_thing_device_info_update(self, request_id, code, data, message, userdata):
            print("on_thing_device_info_update: request_id:%s, code:%s, data:%s, message:%s" % (request_id, code, data, message))
          

    标签更新成功可以在控制台查看,如下图所示:image

  • 删除标签

    通过thing_remove_tags的接口可删除标签,示例如下:

    tags = ["floor", "room"]
    rc, request_id = linkkit.thing_remove_tags(tags)
    if rc == 0:
       printf("success")

    该接口异步向云平台提交一个删除标签的请求,返回rcrequest_idrc为0时表示成功,request_id为请求ID,可以在异步的回调函数中通过该ID获取最终的结果。

    执行结果将异步返回,可以通过设置回调函数on_thing_device_info_delete获得相关结果,示例如下:

    linkkit.on_thing_device_info_delete = on_thing_device_info_delete
    ...
    def on_thing_device_info_delete(self, request_id, code, data, message, userdata):
            print("on_thing_device_info_delete: request_id:%s, code:%s, data:%s, message:%s" % (request_id, code, data, message))