AMQP客户端接入说明
在调用创建规则触发条件、创建规则动作、修改规则触发条件配置并激活规则后,您需要参考本文将AMQP客户端接入物联网平台,成功接入后,在您的服务端运行AMQP客户端,即可接收订阅的消息。
建链认证过程
- AMQP客户端与物联网平台建立TCP连接,然后进行TLS握手校验。
为了保障安全,接收方必须使用TLS加密,且使用TLS1.2版本,不支持非加密的TCP传输。客户端的时间不能与标准时间差5分钟及以上,否则接入不进来。
- 客户端请求建立连接。
- 客户端向物联网平台发起请求,建立Receiver Link(即平台向客户端推送数据的单向通道)。客户端建立Connection成功后,需在15秒内完成Receiver Link的建立,否则物联网平台会关闭连接。建立Receiver Link后,客户端成功接入物联网平台。
一个Connection上最多能够创建十个Receiver Link,不支持创建Sender Link,即只能由平台向客户端推送消息,客户端不能向平台发送消息。
连接配置说明
AMQP客户端接入物联网平台的连接地址和连接认证参数说明如下:
-
连接字符串:amqps://${server.address}:5671?amqp.vhost=default&amqp.idleTimeout=8000&amqp.saslMechanisms=PLAIN
参数
说明
server.address
AMQP服务端接入地址,请前往管理控制台-实例-总览页面-实例基本信息-接入信息-AMQPS接入地址处获取。
图1 总览-获取接入信息
amqp.vhost
当前amqp使用是默认的host,只支持default。
amqp.saslMechanisms
连接认证方式当前支持PLAIN-SASL。
amqp.idleTimeout
心跳时间单位为毫秒。如果超过心跳时间,Connection上没有任何帧通信,物联网平台将关闭连接。
- 端口:5671
- 客户端身份认证参数
username =“accessKey=${accessKey}|timestamp=${timestamp}|instanceId=${instanceId}”
password =“${accessCode}”
获取AMQP接入凭证
若应用使用AMQP协议接入物联网平台进行数据流转,请先预置接入凭证。您可以通过调用生成接入凭证接口预置,也可以前往控制台页面进行预置,详细方法请参考如下操作:
- 选择 ,进入您所选择的实例版本,单击“详情”进入实例详情页面。
- 单击“预置接入凭证”预置接入凭证密钥(accessCode)和接入凭证键值(accessKey)。
图2 实例管理-预置接入凭证
如果您之前预置过接入凭证,重新预置之后,之前的接入凭证密钥将不能再使用。
接收平台推送的消息
客户端和平台之间的Receiver Link建链成功后,基于这个link,支持客户端主动拉取数据(推荐使用,客户端可根据自身能力来拉取数据)和注册监听由服务端推送两种方式。