Skip to main content

发送消息队列

访问路径:数据发布 -> 发送消息队列

功能简述

提供向特定消息队列推送消息的能力,支持AMQP和MQTT协议的消息通道。支持如RabbitMQ、EMQX等消息代理建立的消息队列服务。

操作界面

如下为发送消息队列任务的配置界面,可以通过提供SQL任务脚本来提取待发送消息集,并可以自定义消息格式、路由键或消息主题来配置消息细节。

MQ send

  1. AMQP协议

    • 数据源定义中,提供AMQP消息服务地址和监听端口
    • 数据库定义中,提供目标消息队列名,并选择对应的消息协议AMQP,同时配置相应的交换器和分发类型。

    AMQP

    • 发送队列消息任务中,选择上述定义的消息通道(数据库),并配置消息获取的数据源和查询脚本。
    • 基本信息-数据源:默认为工作库,也可以指定外部数据源。
    • 任务脚本:提供对数据源进行查询的SQL脚本,查询出来的列信息,将会被用于消息构建。
    • 消息配置-消息队列名:选择需要推送的消息通道。
    • 消息配置-路由键:可以定义固定的消息路由键,也可以通过数据遍历变量,从而可以基于特定数据列的值来作为消息路由值。如:<db:routeKey/>
    • 消息配置-消息格式-JSON格式:系统会自动将脚本任务中提取的数据记录中所有的字段列表,按键值对的模式转换成标准的JSON字符串,如:{"data_source_category":"PostgreSQL","database_name":"Local"}
    • 消息配置-消息格式-自定义模板:可基于数据遍历变量来实现自定义的消息格式,如:["user_name"="<db:user_name/>";"Age"=<db:age>]

    AMQP Config

  2. MQTT协议

    • 数据源定义中,提供MQTT消息服务地址和监听端口
    • 数据库定义中,提供目标消息队列名,并选择对应的消息协议MQTT,同时配置相应的消息交付服务质量级别和保留消息标识。注:这里面的主题名称仅用于描述说明,具体推送时,以任务配置界面的定义为准。

    MQTT

    • 发送队列消息任务中,选择上述定义的消息通道(数据库),并配置消息获取和数据源和查询脚本
    • 消息配置-主题:定义固定的消息主题,或基于数据遍历变量实现动态的主题名称,如:<db:mqtt_topic/>
    • 其他配置,同AMQP配置

    MQTT Config