文档首页 > > 使用指南> 订阅推送

订阅推送

分享
更新时间: 2019/09/23 GMT+08:00

概述

订阅:是指应用服务器通过调用物联网平台的“订阅平台业务数据”和“订阅平台管理数据”接口,向平台获取发生变更的设备业务信息(如设备注册、设备数据上报、设备状态等)和管理信息(软固件升级状态和升级结果)。

推送:是指订阅成功后,物联网平台根据应用服务器订阅的数据类型,将对应的变更信息(推送的通知内容可参考推送通知)推送给指定的URL地址,也称为回调地址(什么是回调地址?)。如果应用服务器没有订阅该类型的数据通知,即使数据发生了变更也不会进行推送。物联网平台进行数据推送时,数据格式为JSON格式,推送协议可以采用HTTP或HTTPS协议,其中HTTPS协议为加密传输协议,需要进行安全认证,更加安全,推荐使用。

订阅推送的示意图如下图所示:

应用服务器使用HTTPS协议调用API接口进行订阅时,应用服务器需要校验物联网平台的真实性,需要在应用服务器需要加载CA证书,该证书由物联网平台提供,下载证书文件并解压,在“Northbound API > code”中,根据具体的编程语言进行获取。

物联网平台采用HTTPS协议向应用服务器进行消息推送时,物联网平台需要校验应用服务器的真实性,需要在物联网平台上加载CA证书,该证书由应用服务器侧提供(调测时可自行制作调测证书,商用时建议更换为商用证书,否则会带来安全风险)。

推送机制:物联网平台向应用服务器推送消息后,如果应用服务器接收消息成功,会向物联网平台返回200 OK响应码。如果应用服务器无响应(响应超时时长15秒)或者应用服务器向物联网平台返回501、502、503、504响应码,表示消息推送失败,物联网平台会将消息进行缓存(缓存10分钟),然后通过轮询的方式向各个推送失败的应用服务器进行推送重试,缓存时间超时后如果还未推送成功,物联网平台不再进行推送重试。在消息缓存时间内,物联网平台重试推送失败的次数达到10次后,会将该推送的URL地址设置为无效,并按照轮询的方式,轮询探测所有失败URL有效性检,如果恢复,则会重新设置该URL为有效。您可以登录设备管理服务控制台的“应用管理 > 应用列表 > 应用详情 > 服务设置”中的“订阅推送服务(HTTP/HTTPS)”查看推送URL的状态。

说明:

只有在创建应用时打开“存储历史数据”开关的情况下(默认为打开),才能进行推送。如果平台不存储数据,直接透传的情况是不能进行消息推送的。

如何进行数据订阅

应用服务器接入到设备管理服务后,通过调用API接口或者集成SDK进行数据订阅。

  • 通过API接口进行数据订阅请参考“API开发指导”。
  • 通过集成SDK进行数据订阅请参考“SDK开发指南”。
说明:

上面的操作样例是基于开发中心的环境进行的开发调测,在商用时,需要将应用服务器对接平台的信息修改为设备管理服务的接入信息,并重新进行数据订阅。

  • BASE_URL:更改为“iot-api.cn-north-4.myhuaweicloud.com(北京4)”。
  • APPID和SECRET:更改为在设备管理服务控制台中创建应用时分配的“应用ID”和“应用密钥”。如果使用默认的应用,请通过“应用详情 > 应用定义”中重置“应用密钥”。

加载推送证书

应用服务器订阅消息成功后,设备的数据和状态发生变更时,物联网平台会向应用服务器进行消息推送。采用HTTPS协议进行推送时,请确保已经完成了消息订阅的操作后,再加载CA证书。

  • 如果应用服务器取消了订阅后再重新订阅(URL不变),需要在物联网平台上重新上传CA证书。
  • 如果应用服务器新增了订阅类型(新增URL),需要在物联网平台上加载与该URL对应的CA证书。即使新增URL使用的CA证书与原来推送的URL使用相同的证书,也需要重新上传CA证书。
  1. 登录物联网平台控制台,点击右上角“进入设备管理服务”。
  2. 选择“应用管理 > 应用列表”界面,在“我的应用”页面点击创建的应用。
  3. 在“应用定义”页签的“消息推送”功能中,单击“证书管理”按钮,上传对应的证书文件。
  4. 单击“添加”按钮,按照下表填写相关信息后,单击“确定”完成证书的加载。

    参数名称

    参数说明

    CA证书

    需要提前申请和购买CA证书文件,CA证书由应用服务器侧提供。

    说明:

    调测时可自行制作调测证书,商用时建议更换为商用证书,否则会带来安全风险。

    域名/IP与端口

    物联网平台推送消息到应用服务器的域名或IP地址与端口信息。填写为订阅接口(“订阅平台业务数据”和“订阅平台管理数据”)里的callbackurl中对应的域名或IP地址与端口信息。例如:api.huawei.com:9001或172.0.1.2:8080。

    lb昵称

    证书加载的LoadBalance对应的昵称,选择默认值:default。

    是否检查CNNAME

    是否对CA证书的CNNAME进行校验,确保要加载的证书与申请的证书是完全匹配的。建议打开该开关。

    CNNAME

    “是否检查CNNAME”开关打开时出现。CA证书中携带的证书名称,请向证书申请人员获取。

    支持SNI

    默认不勾选,如果接收推送消息的服务器存在多个服务器使用同一个“IP+端口”,则需要勾选支持SNI,“CNNAME”填写需要接收消息的服务器的域名地址,以便服务器根据指定的域名携带对应的设备证书。

    使用设备证书

    保持默认值:关闭

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区