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

消息推送量查询

更新时间:2017-11-24 10:19:19

OnsMqttQueryTraceByTraceId 接口根据消息 TraceId 查询指定消息的推送量。

使用场景

根据消息 TraceId 查询消息推送量的接口一般用于线上排查问题,或者统计特定消息的推送到达率等运营数据。

请求参数列表

名称 类型 是否必须 描述
OnsRegionId String 当前操作的 MQ 所在区域,详情参见公共术语
OnsPlatform String 请求来源,默认是从 POP 平台。
PreventCache Long 用于 CSRF 校验,设置为系统当前时间即可。
Topic String 需要查询的消息的完整 Topic。
TraceId String 该消息的 TraceId,由 OnsMqttQueryMsgByPubInfo 接口查询。

返回参数列表

名称 类型 描述
RequestId String 为公共参数,每个请求独一无二,用于排查定位问题。
HelpUrl String 帮助链接
PushCount Long 消息的实际推送量

错误码列表

相关 API

OnsMqttQueryMsgByPubInfo:根据发送方信息查询消息,获取消息的 TraceId。

使用示例

本示例仅仅提供一个参考,从杭州接入点接入,根据给定的 TraceId 查询推送量。


    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);
        OnsMqttQueryTraceByTraceIdRequest request = new OnsMqttQueryTraceByTraceIdRequest();
        /**
        *ONSRegionId 是指你需要 API 访问 MQ 哪个区域的资源。
        *该值必须要根据 OnsRegionList 方法获取的列表来选择和配置,因为 OnsRegionId 是变动的,不能够写固定值。
        */
        request.setOnsRegionId("XXXX");
        request.setPreventCache(System.currentTimeMillis());
        request.setAcceptFormat(FormatType.JSON);
        request.setTraceId("XXXXXXXXXxXXX");
        request.setTopic("XXX/XX/XXX");
        try {
                 OnsMqttQueryTraceByTraceIdResponse response = iAcsClient.getAcsResponse(request);
                System.out.println("pushCount:"+response.getPushCount());
        } catch (ServerException e) {
          e.printStackTrace();
        } catch (ClientException e) {
          e.printStackTrace();
        }
    }
本文导读目录