设备连接物联网平台后,数据直接上报至物联网平台,平台上的数据可以通过AMQP通道流转至您的服务器。本文为您介绍通过配置AMQP服务端订阅,实现企业服务器通过接入AMQP客户端,接收路灯设备数据的完整流程。
背景信息

操作步骤
- 登录物联网平台控制台。
- 为消息消费端配置消费组身份,用于企业服务器通过消费组获取转发的消息。
- 在左侧导航栏,选择规则引擎 > 服务端订阅,单击消费组列表页签。
- 单击创建消费组。
- 在创建消费组对话框中,设置消费组名称为路灯消费组,单击确认。
- 为路灯设备所属产品配置服务端订阅,用于您的服务器直接订阅产品下多种类型的消息 。
- 在左侧导航栏,选择规则引擎 > 服务端订阅。
- 在服务端订阅页面的订阅列表页签下,单击创建订阅。
- 在创建订阅对话框,设置参数后单击确认。
参数 说明 产品 选择路灯。 订阅类型 选择AMQP。 消费组 选择上一步创建的路灯消费组。 推送消息类型 选择设备上报消息。
- AMQP客户端接入物联网平台。示例使用Java开发语言,推荐使用Apache Qpid JMS客户端。您可访问Qpid JMS 0.57.0,查看Qpid JMS客户端使用说明。
示例使用的开发环境如下:
- 操作系统:Windows 10 64位
- JDK版本:JDK8
- 集成开发环境:IntelliJ IDEA社区版
- 下载Demo代码包,并解压。
- 打开IntelliJ IDEA,导入Demo包中的示例工程amqp-demo。在pom.xml文件中,已添加Maven依赖,下载Qpid JMS客户端。
- 在src/main/java/com.aliyun.iotx.demo目录下AmqpClient.java文件中,参照下表,修改JMS客户端接入物联网平台代码中的参数值。
参数 示例 说明 accessKey LTAI4GFGQvKuqHJhFa****** 登录物联网平台控制台,将鼠标指针移至账号头像上,然后单击AccessKey管理,获取AccessKey ID和AccessKey Secret。 说明 如果使用RAM用户,您需授予该用户管理物联网平台的权限(AliyunIOTFullAccess),否则将连接失败。授权方法请参见授权RAM用户访问物联网平台。accessSecret iMS8ZhCDdfJbCMeA005sieKe****** consumerGroupId VWhGZ2QnP7kxWpeSSjt****** 步骤3中创建的路灯消费组ID。请在物联网平台控制台公共实例页面,选择规则引擎 > 服务端订阅,单击消费组列表页签,找到路灯消费组获取消费组ID。 iotInstanceId "" 实例ID。本文使用公共实例,因此值为空,即 iotInstanceId = ""
。clientId 12345 表示客户端ID,建议使用您的AMQP客户端所在服务器UUID、MAC地址、IP等唯一标识。长度不可超过64个字符。 登录物联网平台控制台,在规则引擎 > 服务端订阅 > 消费组列表,单击消费组对应的查看,消费组详情页将显示该参数,方便您识别区分不同的客户端。
host 198426864******.iot-amqp.cn-shanghai.aliyuncs.com AMQP接入域名。 ${YourHost}
格式为${uid}.iot-amqp.${YourRegionId}.aliyuncs.com
,其中: - 运行示例代码后,返回类似如下日志信息,表示AMQP客户端已接入物联网平台并成功接收消息。说明 本示例Demo代码中,添加了结束程序的代码(
Thread.sleep(60 * 1000);
),即程序启动成功,运行一分钟后会结束。实际场景中,您可根据需要自行设置运行时间。