全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 钉钉智能硬件
消息队列 MQ

消息收发统计

更新时间:2017-12-15 20:40:56

OnsMqttQueryMsgTransTrend 接口根据 Topic 等信息查询历史消息收发量。

使用场景

查询历史消息收发曲线功能一般用于生成数据报表,统计业务规模等场景。

请求参数列表

名称 类型 是否必须 描述
OnsRegionId String 当前操作的 MQ 所在区域,详情参见公共术语
OnsPlatform String 请求来源,默认是从 POP 平台。
PreventCache Long 用于 CSRF 校验,设置为系统当前时间即可。
ParentTopic String 需要查询的一级父 Topic。
SubTopic String 查询的子 Topic,如果没有或者查询所有的 Topic 信息,可以不填。
MsgType String 消息类别,p2p 或者是 sub,如果不填则默认查所有消息,填其他值无效。
TpsType String 查询类别,TPS 或者 SUM,分别代表是查询总量还是 TPS 信息,其他值无效。
TransType String 收发类别,PUB 或者是 SUB,代表查询发送还是接收,其他值无效。
Qos Integer 查询的 QoS 级别,0,1,2,填其他值或者不填都默认查所有消息。
BeginTime Long 查询的起始时间
EndTime Long 查询的终止时间,起止时间范围建议尽可能在当天,否则后端会自动截断。

返回参数列表

名称 类型 描述
RequestId String 为公共参数,每个请求独一无二。
HelpUrl String 帮助链接
data Data 数据集合

Data 数据集定义

名称 类型 描述
Title String table 的名称
Records List(StatsDataDo) 采集点信息

StatsDataDo 数据集定义

名称 类型 描述
X Long 横轴,毫秒时间戳。
Y Float 纵轴,数据(TPS 或者总量)。

错误码列表

相关 API

使用示例

本示例仅仅提供一个参考,从杭州接入点接入,查询指定 Topic 过去一小时的消息发送数量信息。


    public static void main(String[] args) {
        String regionId = "cn-hangzhou";
        String accessKey = "XXXXXXXXXXXXXXXXX";
        String secretKey = "XXXXXXXXXXXXXXXXX";
        String endPointName ="cn-hangzhou";
        String productName ="Ons";
        String domain ="ons.cn-hangzhou.aliyuncs.com";

        /**
        *根据自己所在的区域选择 Region 后,设置对应的接入点。
        */
        try {
            DefaultProfile.addEndpoint(endPointName,regionId,productName,domain);
        } catch (ClientException e) {
            e.printStackTrace();
        }
        IClientProfile profile= DefaultProfile.getProfile(regionId,accessKey,secretKey);
        IAcsClient iAcsClient= new DefaultAcsClient(profile);
        OnsMqttQueryMsgTransTrendRequest request = new OnsMqttQueryMsgTransTrendRequest();
        /**
        *ONSRegionId 是指你需要 API 访问 MQ 哪个区域的资源。
        *该值必须要根据 OnsRegionList 方法获取的列表来选择和配置,因为 OnsRegionId 是变动的,不能够写固定值。
        */
        request.setOnsRegionId("XXXX");
        request.setPreventCache(System.currentTimeMillis());
        request.setAcceptFormat(FormatType.JSON);
        request.setParentTopic("MQTT_TOPIC_ONSMONITOR_BJ");
        //request.setMsgType("sub");
        request.setTpsType("SUM");
        request.setTransType("PUB");
        //request.setQos(1);
        request.setBeginTime(System.currentTimeMillis()-1000*3600);
        request.setEndTime(System.currentTimeMillis());
        try {
                 OnsMqttQueryMsgTransTrendResponse response = iAcsClient.getAcsResponse(request);
                   OnsMqttQueryMsgTransTrendResponse.Data data =response.getData();
                System.out.println(data.getTitle()+"\n"+
                data.getRecords());
        } catch (ServerException e) {
          e.printStackTrace();
        } catch (ClientException e) {
          e.printStackTrace();
        }
    }
本文导读目录