大家好,随着上一次介绍完产品相关的五种操作接口,这回介绍一下产品标签相关的五种操作接口,
提到标签,最初的印象是超市里或商场货架上,放在商品旁边带价格说明的方形小卡片;随着这些年互联网的普及和自媒体的泛滥,各种人为有意或无意的,能达成广泛认同的一种词语也被当作标签来用;像一些青少年拥有大量的粉丝,通常被认为‘流量小生’,而一堆人中,容貌出众的则常被当作‘颜值担当’,而各大网站,博客也随着潮流,提供各种形容词,个性化的标签订制;作为阿里云iot这个新出来没有很久的事物,当然也会有这种类似的服务,而不只是局限在产品价格或一些基本的属性描述上;所以笔者觉得标签这个词,已经从以前的客观事物描述,变成了人们主观的对某种事物看法观点的一个缩写,名词也好,形容词也好;
回到本文的主题上,标签的操作也类似于上次介绍产品操作,主要分为创建,查询,修改和删除;这个标签的接口最大允许我们为一个产品创建100个标签,这对于我们学习和实际应用都已经应该足够了;
本文用到的相关软件链接如下;
http://47.94.219.162/v0.0.3.rar
在这里,为每个要创建产品的标签定义为一个含有两个描述信息的集合,第一个是标签的关键字,第二个是标签的值;关键字相当于对产品某一个方面的抽象描述,而值则是对这个抽象地描述进行了具体化和实例化。举个例子可能更好理解,比如小明一直对阿里云的IOT产品有着浓厚的兴趣,有一天他买了一箱灯泡,决定按照不同的使用方式和目的,把这些灯泡分开来用,于是就分成了三堆,春节使用第一堆,中秋节使用第二堆,国庆节使用第三堆。所以当他在服务端为这些灯泡创建好相应的产品后,就开始为他们创建了专属于小明的个性化标签,标签的关键字就叫happyday,标签的值就叫春节,中秋和国庆分别对应要使用的那几堆灯泡;解释完了创建标签相关的基本信息后,我们来实际创建一个标签体验一下,在进入本次实际操作前,还需要做些准备工作,本次介绍的标签操作,我们的计划是给两种产品创建两种标签,两种产品分别叫灯泡1和灯泡2,标签分别是位置和颜色,灯泡1的位置为卧室,颜色是绿色,灯泡2的位置是客厅,颜色是蓝色;现在用前几次介绍的命令来做这些准备工作,也算是温故知新啦,之前我们有创建过一个产品,所以先用下面的命令将它的名字改为lamp1
XYsayFrO.IoT.Srv.UpdateProduct.a1INL2ChTDZ.lamp1
运行后,得到如下图类似结果,就表示修改成功啦;
然后,我们通过创建产品的命令,创建一个叫做灯泡2的产品:
XYsayFrO.IoT.Srv.CreateProduct.lamp2
运行后,得到如下图类似结果,就表示创建成功啦;
然后接下来就是要创建产品标签了,创建产品标签的命令就是英文的创建
标签,也比较好记,为CreateProductTags,后面为我们要创建标签的产
品关键字,这个产品的KEY可以用我们之前提到的QueryProductList查询产品列表命令查询到。
CreateProductTags这个命令一共有三个参数,除了第一个产品关键字外,后面两个参数为标签的关键字和标签的值,标签的关键字,我们分别用loc和color表示位置和颜色,那么我们就可以用下面
的命令来先创建一个位置为卧室的标签;
XYsayFrO.IoT.Srv.CreateProductTags.a1INL2ChTDZ.loc.bedroom.
类似的,我们可以用下面的三条命令创建剩余的三个标签:他们分别是:第一个产品颜色为绿色的标签;第二个产品位置为卧室的标签,第二个产品颜色为蓝色的标签;
XYsayFrO.IoT.Srv.CreateProductTags.a1INL2ChTDZ.color.green.
XYsayFrO.IoT.Srv.CreateProductTags.a17hjshDgiK.loc.livingroom.
XYsayFrO.IoT.Srv.CreateProductTags.a17hjshDgiK.color.blue.
为了保证执行结果成功,我们每个命令加上一秒钟的延时,最后的脚本如下:
XYsayFaU.Wait.1000
XYsayFrO.IoT.Srv.CreateProductTags.a1INL2ChTDZ.loc.bedroom.
XYsayFaU.Wait.1000
XYsayFrO.IoT.Srv.CreateProductTags.a1INL2ChTDZ.color.green.
XYsayFaU.Wait.1000
XYsayFrO.IoT.Srv.CreateProductTags.a17hjshDgiK.loc.livingroom.
XYsayFaU.Wait.1000
XYsayFrO.IoT.Srv.CreateProductTags.a17hjshDgiK.color.blue.
当我们能看到下面截图的返回结果,就表示我们创建的4个标签成功了;
下一个要介绍的产品标签接口是查询标签,这个操作的意思是给出指定产品关键字,可以查找到这个产品目前的标签信息,包括标签关键字和标签值.
那下面我们就来用这个接口查找一下我们刚才新创建的四个标签吧,同样这个命令就是对应的英文名字:ListProductTags,后面的参数也不太复杂,
只要产品的关键字代入就好,为了提高运行成功的概率,查询两种产品之间,我加了一秒钟的延迟:
XYsayFrO.IoT.Srv.ListProductTags.a1INL2ChTDZ.
XYsayFaU.Wait.1000
XYsayFrO.IoT.Srv.ListProductTags.a17hjshDgiK.
如果命令能够被成功执行,我们可以看到如下截图信息,里面列出了两种产品各有两个标签,分别对应着:卧室,绿色,客厅,蓝色;
再往下一个接口,是更新标签的操作,这里的更新指的是更新标签的值,因为标签的关键字通常是唯一的,也是常常用来作为更新索引参考用的,所以暂时还不能更新.更新标签命令为UpdateProductTags,后面带的参数和创建标签时的类似,这里我们把第一个标签的卧室,换一个名字,用sleep_room代替bedroom.所以得到下面的命令:
XYsayFrO.IoT.Srv.UpdateProductTags.a1INL2ChTDZ.loc.sleep_room.
运行后,得到如下截图信息,表示更新成功;
在创建标签的几个接口中,有一个接口是可以通过标签来查找产品信息的,这对于实际应用中,有多种产品的同时,有需要创建多个标签来说,还是比较有用的,它的命令为ListProductByTags,后面跟的参数是标签的关键字和标签值,这里我们试着列出刚才修改那个卧室标签的产品,于是用下面的命令来验证一下是否修改成功:
XYsayFrO.IoT.Srv.ListProductByTags.loc.sleep_room.
返回信息如下:
这个产品关键字和我们之前的一样,所以证明我们修改成功了;
最后一个接口操作是删除标签,DeleteProductTags为命令字,后面带着两个参数,一个是产品关键字,一个是标签的关键字,这里我们打算把刚才创建的四个标签都删除掉,每删除一个标签等待一秒钟,于是得到下面的命令:
XYsayFrO.IoT.Srv.DeleteProductTags.a1INL2ChTDZ.loc.
XYsayFaU.Wait.1000
XYsayFrO.IoT.Srv.DeleteProductTags.a1INL2ChTDZ.color.
XYsayFaU.Wait.1000
XYsayFrO.IoT.Srv.DeleteProductTags.a17hjshDgiK.loc.
XYsayFaU.Wait.1000
XYsayFrO.IoT.Srv.DeleteProductTags.a17hjshDgiK.color.
运行后,返回如下信息表示成功;
我们这里再用前面的查询命令查找一下,具体信息如下:
XYsayFrO.IoT.Srv.ListProductTags.a1INL2ChTDZ.
XYsayFaU.Wait.1000
XYsayFrO.IoT.Srv.ListProductTags.a17hjshDgiK.
运行结果入夏,也没有返回什么标签信息:
这就表示我们确实把刚才创建的四个标签删除掉了;介绍到这里,关于产品标签的相关操作,我们也介绍完了;
欢迎大家扫码进群领取物联网最新资料以及获取一手直播资讯。