文档首页/ 应用与数据集成平台 ROMA Connect/ 常见问题/ 设备集成/ 为什么规则引擎的数据目的端未收到设备发送的消息?
更新时间:2022-05-06 GMT+08:00

为什么规则引擎的数据目的端未收到设备发送的消息?

数据目的端未收到设备发送的消息主要有以下原因:

  • 可能是您的安全组没有添加正确的入方向规则。

    请您进入“实例信息”界面,找到您的安全组。单击安全组名称进入安全组详情页面,然后根据表1添加相应的入方向规则。

    表1 安全组参数

    参数

    端口

    MQS 内网访问端口

    9092

    MQS 内网SSL模式访问端口

    9093

    MQS 公网访问端口

    9094、9095、9096

    MQS 公网SSL模式访问端口

    9095、9096、9097

    MQS RESTful接口访问端口

    9292

  • 可能是配置的Topic有误。

    您需要使用有发布权限的Topic进行消息的发布,请检查您的Topic是否有发布权限。您可以在“Topic名称”这一栏中找到出现问题的Topic名称,然后在“Topic类型”中查看该Topic是否为“发布”类型。如果Topic没有发布权限,设备就无法发送消息到规则引擎的数据目的端。

    您可以在设备涉配置使用“发布”类型的Topic,使设备能够发送消息到数据目的端,从而解决上述问题。

  • 可能是安全组第一条默认规则被删除了。

    在创建安全组时,系统会自动生成一条入方向规则,允许规则引擎的数据目的端接收所有设备发送的消息。如果您在没有创建其他入方向规则的情况下删除了这条规则,会让整个安全组缺少入方向规则,导致规则引擎的数据目的端不能收到设备发送的消息。

    您可以通过添加入方向规则解决这个问题。如果业务场景需要规则引擎接收特定设备发送的信息,您可以添加入方向规则,将“端口范围”限定为特定设备的端口。如果业务场景需要规则引擎接收所有设备发送的信息,您可以添加入方向规则,将“端口范围”设置为“全部”。

  • 可能是topic被删除

    规则引擎在转发消息时,需要将消息转发到指定的topic上。如果topic因意外被删除,则无法进行消息的转发。

    您可以通过创建一个topic,并在规则引擎中配置该topic。创建该topic时需要为topic指定发布或者订阅的权限。