You need to enable JavaScript to run this app.
导航

统计分析

最近更新时间2024.04.15 11:37:00

首次发布时间2023.12.28 21:21:52

阅读本文,您可以获取 Java SDK 统计分析的接口调用示例,实现快速开发。

说明

本文的调用示例包含接口的全部参数。由于参数间可能存在互斥关系,在调用时,请您参考注释,进行调整。

调用说明

  • 本文提供的接口调用示例均通过 AK 和 SK 初始化实例。
  • 接口的参数说明和错误码等信息可通过接口文档或打开 API Explorer文档说明页签查看。

前提条件

调用接口前,请先完成 Java SDK 的安装及初始化操作

调用示例

本节为您介绍统计分析相关接口的功能和调用示例。

查询区域标识符

您可以调用 DescribeLiveRegionData 接口查询区域标识符。详细的参数说明可参见 DescribeLiveRegionData 接口文档。

接口调用示例如下所示。

package com.volcengine.live.demo;

import com.volcengine.model.live.v20230101.DescribeLiveRegionDataRes;
import com.volcengine.service.live.v20230101.LiveService;

public class DescribeLiveRegionDataDemo  {
  public static void main(String[] args) {
    // 强烈建议不要把 AccessKey ID 和 AccessKey Secret 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 AccessKey ID 和 AccessKey Secret,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 ACCESS_KEY_ID 和 ACCESS KEY_SECRET
    LiveService service = LiveService.getInstance();

    service.setAccessKey(System.getenv("ACCESS_KEY_ID"));

    service.setSecretKey(System.getenv("ACCESS_KEY_SECRET"));

    

    try {
      DescribeLiveRegionDataRes resp = service.describeLiveRegionData();
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

查询运营商标识符

您可以调用 DescribeLiveISPData 接口查询运营商标识符。详细的参数说明可参见 DescribeLiveISPData 接口文档。

接口调用示例如下所示。

package com.volcengine.live.demo;

import com.volcengine.model.live.v20230101.DescribeLiveISPDataRes;
import com.volcengine.service.live.v20230101.LiveService;

public class DescribeLiveISPDataDemo  {
  public static void main(String[] args) {
    // 强烈建议不要把 AccessKey ID 和 AccessKey Secret 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 AccessKey ID 和 AccessKey Secret,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 ACCESS_KEY_ID 和 ACCESS KEY_SECRET
    LiveService service = LiveService.getInstance();

    service.setAccessKey(System.getenv("ACCESS_KEY_ID"));

    service.setSecretKey(System.getenv("ACCESS_KEY_SECRET"));

    

    try {
      DescribeLiveISPDataRes resp = service.describeLiveISPData();
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

查询单路推流监控数据

您可以调用 DescribeLivePushStreamMetrics 接口查询单路推流监控数据。详细的参数说明可参见 DescribeLivePushStreamMetrics 接口文档。

接口调用示例如下所示。

package com.volcengine.live.demo;
import com.volcengine.model.live.v20230101.DescribeLivePushStreamMetricsBody;
import com.volcengine.model.live.v20230101.DescribeLivePushStreamMetricsRes;
import com.volcengine.service.live.v20230101.LiveService;

public class DescribeLivePushStreamMetricsDemo  {
  public static void main(String[] args) {
    // 强烈建议不要把 AccessKey ID 和 AccessKey Secret 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 AccessKey ID 和 AccessKey Secret,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 ACCESS_KEY_ID 和 ACCESS KEY_SECRET
    LiveService service = LiveService.getInstance();

    service.setAccessKey(System.getenv("ACCESS_KEY_ID"));

    service.setSecretKey(System.getenv("ACCESS_KEY_SECRET"));

    DescribeLivePushStreamMetricsBody body = new DescribeLivePushStreamMetricsBody();
     
    // 推流域名。
    body.setDomain("example.com");
    
    // 应用名称。
    body.setApp("example_app");
    
    // 流名称。
    body.setStream("example_stream");
    
    // 查询的开始时间,RFC3339 格式的 UTC 时间,精度为秒。
    // note:
    // 单次查询最大时间跨度为 1 天,历史查询最大时间范围为 366 天。
    body.setStartTime("2021-08-16T00:00:00+08:00");
    
    // 查询的结束时间,RFC3339 格式的 UTC 时间,精度为秒。
    body.setEndTime("2021-08-16T00:00:00+08:00");
    
    // 数据聚合的时间粒度,单位为秒,支持的时间粒度如下所示。
    // <li> 5:5 秒; </li>
    // <li> 30:(默认值)30 秒。 </li>
    body.setAggregation(5);

    try {
      DescribeLivePushStreamMetricsRes resp = service.describeLivePushStreamMetrics(body);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

查询多路推流监控数据

您可以调用 DescribeLiveBatchPushStreamMetrics 接口查询多路推流监控数据。详细的参数说明可参见 DescribeLiveBatchPushStreamMetrics 接口文档。

接口调用示例如下所示。

package com.volcengine.live.demo;
import com.volcengine.model.live.v20230101.DescribeLiveBatchPushStreamMetricsBody;
import com.volcengine.model.live.v20230101.DescribeLiveBatchPushStreamMetricsRes;
import com.volcengine.service.live.v20230101.LiveService;

public class DescribeLiveBatchPushStreamMetricsDemo  {
  public static void main(String[] args) {
    // 强烈建议不要把 AccessKey ID 和 AccessKey Secret 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 AccessKey ID 和 AccessKey Secret,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 ACCESS_KEY_ID 和 ACCESS KEY_SECRET
    LiveService service = LiveService.getInstance();

    service.setAccessKey(System.getenv("ACCESS_KEY_ID"));

    service.setSecretKey(System.getenv("ACCESS_KEY_SECRET"));

    DescribeLiveBatchPushStreamMetricsBody body = new DescribeLiveBatchPushStreamMetricsBody();
     
    // 推流域名。
    body.setDomain("example.com");
    
    // 应用名称。
    body.setApp("example.com");
    
    // 流名称。
    // note:
    // 使用 `Stream` 构造请求时,需同时定义 `App` 参数,不可缺省。
    body.setStream("example_stream");
    
    // 查询的开始时间,RFC3339 格式的 UTC 时间,精度为秒。
    // note:
    // 单次查询最大时间跨度为 1 天,历史查询最大时间范围为 366 天。
    body.setStartTime("2021-08-16T00:00:00+08:00");
    
    // 查询的结束时间,RFC3339 格式的 UTC 时间,精度为秒。
    body.setEndTime("2021-08-16T00:01:59+08:00");
    
    // 数据聚合的时间粒度,单位为秒,支持的时间粒度如下所示。
    // <li> 5:5 秒; </li>
    // <li> 30:30 秒; </li>
    // <li> 60:(默认值)1 分钟。 </li>
    body.setAggregation(5);

    try {
      DescribeLiveBatchPushStreamMetricsRes resp = service.describeLiveBatchPushStreamMetrics(body);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

查询多路推流监控数据平均值

您可以调用 DescribeLiveBatchPushStreamAvgMetrics 接口查询多路推流监控数据平均值。详细的参数说明可参见 DescribeLiveBatchPushStreamAvgMetrics 接口文档。

接口调用示例如下所示。

package com.volcengine.live.demo;
import com.volcengine.model.live.v20230101.DescribeLiveBatchPushStreamAvgMetricsBody;
import com.volcengine.model.live.v20230101.DescribeLiveBatchPushStreamAvgMetricsRes;
import com.volcengine.service.live.v20230101.LiveService;

public class DescribeLiveBatchPushStreamAvgMetricsDemo  {
  public static void main(String[] args) {
    // 强烈建议不要把 AccessKey ID 和 AccessKey Secret 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 AccessKey ID 和 AccessKey Secret,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 ACCESS_KEY_ID 和 ACCESS KEY_SECRET
    LiveService service = LiveService.getInstance();

    service.setAccessKey(System.getenv("ACCESS_KEY_ID"));

    service.setSecretKey(System.getenv("ACCESS_KEY_SECRET"));

    DescribeLiveBatchPushStreamAvgMetricsBody body = new DescribeLiveBatchPushStreamAvgMetricsBody();
     
    // 推流域名。
    body.setDomain("example.com");
    
    // 应用名称。
    body.setApp("example.com");
    
    // 流名称。
    // note:
    // 使用 `Stream` 构造请求时,需同时定义 `App` 参数,不可缺省。
    body.setStream("example_stream");
    
    // 查询的开始时间,RFC3339 格式的 UTC 时间,精度为秒。
    // note:
    // 单次查询最大时间跨度为 1 天,历史查询最大时间范围为 366 天。
    body.setStartTime("2021-08-16T00:00:00+08:00");
    
    // 查询的结束时间,RFC3339 格式的 UTC 时间,精度为秒。
    body.setEndTime("2021-08-16T00:01:59+08:00");
    
    // 数据聚合的时间粒度,单位为秒,支持的时间粒度如下所示。
    // <li> 5:5 秒; </li>
    // <li> 30:30 秒; </li>
    // <li> 60:(默认值)1 分钟。 </li>
    body.setAggregation(5);

    try {
      DescribeLiveBatchPushStreamAvgMetricsRes resp = service.describeLiveBatchPushStreamAvgMetrics(body);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

查询单路回源流监控数据

您可以调用 DescribeLiveSourceStreamMetrics 接口查询单路回源流监控数据。详细的参数说明可参见 DescribeLiveSourceStreamMetrics 接口文档。

接口调用示例如下所示。

package com.volcengine.live.demo;
import com.volcengine.model.live.v20230101.DescribeLiveSourceStreamMetricsBody;
import com.volcengine.model.live.v20230101.DescribeLiveSourceStreamMetricsRes;
import com.volcengine.service.live.v20230101.LiveService;

public class DescribeLiveSourceStreamMetricsDemo  {
  public static void main(String[] args) {
    // 强烈建议不要把 AccessKey ID 和 AccessKey Secret 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 AccessKey ID 和 AccessKey Secret,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 ACCESS_KEY_ID 和 ACCESS KEY_SECRET
    LiveService service = LiveService.getInstance();

    service.setAccessKey(System.getenv("ACCESS_KEY_ID"));

    service.setSecretKey(System.getenv("ACCESS_KEY_SECRET"));

    DescribeLiveSourceStreamMetricsBody body = new DescribeLiveSourceStreamMetricsBody();
     
    // 拉流域名。
    body.setDomain("example.com");
    
    // 应用名称。
    body.setApp("example_app");
    
    // 流名称。
    body.setStream("example_stream");
    
    // 查询的开始时间,RFC3339 格式的 UTC 时间,精度为秒。
    // note:
    // 单次查询最大时间跨度为 1 天,历史查询最大时间范围为 366 天。
    body.setStartTime("2021-08-16T00:00:00+08:00");
    
    // 查询的结束时间,RFC3339 格式的 UTC 时间,精度为秒。
    body.setEndTime("2021-08-16T00:01:59+08:00");
    
    // 数据聚合的时间粒度,单位为秒,支持的时间粒度如下所示。
    // <li> 30:(默认值)30 秒。 </li>
    body.setAggregation(30);

    try {
      DescribeLiveSourceStreamMetricsRes resp = service.describeLiveSourceStreamMetrics(body);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

查询多路回源流监控数据

您可以调用 DescribeLiveBatchSourceStreamMetrics 接口查询多路回源流监控数据。详细的参数说明可参见 DescribeLiveBatchSourceStreamMetrics 接口文档。

接口调用示例如下所示。

package com.volcengine.live.demo;
import com.volcengine.model.live.v20230101.DescribeLiveBatchSourceStreamMetricsBody;
import com.volcengine.model.live.v20230101.DescribeLiveBatchSourceStreamMetricsRes;
import com.volcengine.service.live.v20230101.LiveService;

public class DescribeLiveBatchSourceStreamMetricsDemo  {
  public static void main(String[] args) {
    // 强烈建议不要把 AccessKey ID 和 AccessKey Secret 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 AccessKey ID 和 AccessKey Secret,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 ACCESS_KEY_ID 和 ACCESS KEY_SECRET
    LiveService service = LiveService.getInstance();

    service.setAccessKey(System.getenv("ACCESS_KEY_ID"));

    service.setSecretKey(System.getenv("ACCESS_KEY_SECRET"));

    DescribeLiveBatchSourceStreamMetricsBody body = new DescribeLiveBatchSourceStreamMetricsBody();
     
    // 拉流域名。
    body.setDomain("example.com");
    
    // 应用名称。
    body.setApp("example_app");
    
    // 流名称。
    body.setStream("example_stream");
    
    // 查询的开始时间,RFC3339 格式的 UTC 时间,精度为秒。
    // note:
    // 单次查询最大时间跨度为 1 天,历史查询最大时间范围为 366 天。
    body.setStartTime("2021-08-16T00:00:00+08:00");
    
    // 查询的结束时间,RFC3339 格式的 UTC 时间,精度为秒。
    body.setEndTime("2021-08-16T00:01:59+08:00");
    
    // 数据聚合的时间粒度,单位为秒,支持的时间粒度如下所示。
    // <li> 30:30 秒; </li>
    // <li> 60:(默认值)1 分钟。 </li>
    body.setAggregation(30);

    try {
      DescribeLiveBatchSourceStreamMetricsRes resp = service.describeLiveBatchSourceStreamMetrics(body);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

查询多路回源流监控数据平均值

您可以调用 DescribeLiveBatchSourceStreamAvgMetrics 接口查询多路回源流监控数据平均值。详细的参数说明可参见 DescribeLiveBatchSourceStreamAvgMetrics 接口文档。

接口调用示例如下所示。

package com.volcengine.live.demo;
import com.volcengine.model.live.v20230101.DescribeLiveBatchSourceStreamAvgMetricsBody;
import com.volcengine.model.live.v20230101.DescribeLiveBatchSourceStreamAvgMetricsRes;
import com.volcengine.service.live.v20230101.LiveService;

public class DescribeLiveBatchSourceStreamAvgMetricsDemo  {
  public static void main(String[] args) {
    // 强烈建议不要把 AccessKey ID 和 AccessKey Secret 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 AccessKey ID 和 AccessKey Secret,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 ACCESS_KEY_ID 和 ACCESS KEY_SECRET
    LiveService service = LiveService.getInstance();

    service.setAccessKey(System.getenv("ACCESS_KEY_ID"));

    service.setSecretKey(System.getenv("ACCESS_KEY_SECRET"));

    DescribeLiveBatchSourceStreamAvgMetricsBody body = new DescribeLiveBatchSourceStreamAvgMetricsBody();
     
    // 拉流域名。
    body.setDomain("example.com");
    
    // 应用名称。
    body.setApp("example_app");
    
    // 流名称。
    body.setStream("example_stream");
    
    // 查询的开始时间,RFC3339 格式的 UTC 时间,精度为秒。
    // note:
    // 单次查询最大时间跨度为 1 天,历史查询最大时间范围为 366 天。
    body.setStartTime("2021-08-16T00:00:00+08:00");
    
    // 查询的结束时间,RFC3339 格式的 UTC 时间,精度为秒。
    body.setEndTime("2021-08-16T00:01:59+08:00");
    
    // 数据聚合的时间粒度,单位为秒,支持的时间粒度如下所示。
    // <li> 30:30 秒; </li>
    // <li> 60:(默认值)1 分钟。 </li>
    body.setAggregation(30);

    try {
      DescribeLiveBatchSourceStreamAvgMetricsRes resp = service.describeLiveBatchSourceStreamAvgMetrics(body);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

查询直播流请求数和在线人数

您可以调用 DescribeLiveStreamSessionData 接口查询直播流请求数和在线人数。详细的参数说明可参见 DescribeLiveStreamSessionData 接口文档。

接口调用示例如下所示。

package com.volcengine.live.demo;
import com.volcengine.model.live.v20230101.DescribeLiveStreamSessionDataBody; 
import com.volcengine.model.live.v20230101.DescribeLiveStreamSessionDataBodyRegionListItem;
import com.volcengine.model.live.v20230101.DescribeLiveStreamSessionDataRes;
import com.volcengine.service.live.v20230101.LiveService;
import java.util.ArrayList; 
import java.util.List; 

public class DescribeLiveStreamSessionDataDemo  {
  public static void main(String[] args) {
    // 强烈建议不要把 AccessKey ID 和 AccessKey Secret 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 AccessKey ID 和 AccessKey Secret,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 ACCESS_KEY_ID 和 ACCESS KEY_SECRET
    LiveService service = LiveService.getInstance();

    service.setAccessKey(System.getenv("ACCESS_KEY_ID"));

    service.setSecretKey(System.getenv("ACCESS_KEY_SECRET"));

    DescribeLiveStreamSessionDataBody body = new DescribeLiveStreamSessionDataBody();
     
    // 域名列表,缺省情况表示该用户的所有推拉流域名。
    // note:
    // `DomainList` 和 `Domain` 传且仅传一个。
    List<String> DescribeLiveStreamSessionDataBodyDomainList = new ArrayList<>(); 

    DescribeLiveStreamSessionDataBodyDomainList.add("example.com");
    
    body.setDomainList(DescribeLiveStreamSessionDataBodyDomainList); 
    
    // 查询流粒度数据时的域名参数。
    // note:
    // 使用 `Domain` 构造请求时,需要同时定义 `App` 和 `Stream` 参数,不可缺省。
    body.setDomain("example.com");
    
    // 查询流粒度数据时的应用名。
    // note:
    // 使用 `App` 构造请求时,需要同时定义 `Domain` 和 `Stream` 参数,不可缺省。
    body.setApp("example_app");
    
    // 查询流粒度数据时的流名称。
    // note:
    // 使用 `Stream` 构造请求时,需要同时定义 `Domain` 和 `App` 参数,不可缺省。
    body.setStream("example_stream");
    
    // 请求的 Referer 信息。
    List<String> DescribeLiveStreamSessionDataBodyRefererList = new ArrayList<>(); 

    DescribeLiveStreamSessionDataBodyRefererList.add("www.test.com");
    
    body.setRefererList(DescribeLiveStreamSessionDataBodyRefererList); 
    
    // 推拉流协议,缺省情况下表示所有协议类型,支持的协议如下所示。
    // <li> HTTP-FLV:基于 HTTP 协议的推拉流协议,使用 FLV 格式传输视频格式。 </li>
    // <li> HTTP-HLS:基于 HTTP 协议的推拉流协议,使用 TS 格式传输视频格式。 </li>
    // <li> RTMP:Real Time Message Protocol,实时信息传输协议。 </li>
    // <li> RTM:Real Time Media,超低延时直播协议。 </li>
    // <li> SRT:Secure Reliable Transport,安全可靠传输协议。 </li>
    // <li> QUIC:Quick UDP Internet Connections,一种基于 UDP 的全新的低延时互联网传输协议。 </li>
    // note:
    // 如果查询推拉流协议为 QUIC,不能同时查询其他协议。
    List<String> DescribeLiveStreamSessionDataBodyProtocolList = new ArrayList<>(); 

    DescribeLiveStreamSessionDataBodyProtocolList.add("HTTP-FLV");
    DescribeLiveStreamSessionDataBodyProtocolList.add("RTMP");
    
    body.setProtocolList(DescribeLiveStreamSessionDataBodyProtocolList); 
    
    // 提供网络接入服务的运营商标识符,缺省情况下表示所有运营商,支持的运营商如下所示。
    // <li> unicom:联通; </li>
    // <li> railcom:铁通; </li>
    // <li> telecom:电信; </li>
    // <li> mobile:移动; </li>
    // <li> cernet:教育网; </li>
    // <li> tianwei:天威; </li>
    // <li> alibaba:阿里巴巴; </li>
    // <li> tencent:腾讯; </li>
    // <li> drpeng:鹏博士; </li>
    // <li> btvn:广电; </li>
    // <li> huashu:华数; </li>
    // <li> other:其他。 </li>
    // 您也可以通过 [DescribeLiveISPData](https//www.volcengine.com/docs/6469/1133974) 接口获取运营商对应的标识符。
    List<String> DescribeLiveStreamSessionDataBodyISPList = new ArrayList<>(); 

    DescribeLiveStreamSessionDataBodyISPList.add("telecom");
    
    body.setISPList(DescribeLiveStreamSessionDataBodyISPList); 
    
    // CDN 节点 IP 所属区域的列表,缺省情况下表示所有区域。
    List<DescribeLiveStreamSessionDataBodyRegionListItem> DescribeLiveStreamSessionDataBodyRegionList = new ArrayList<>(); 

    DescribeLiveStreamSessionDataBodyRegionListItem DescribeLiveStreamSessionDataBodyRegionListItem = new DescribeLiveStreamSessionDataBodyRegionListItem(); 
 
    // 区域信息中的大区标识符,如何获取请参见[查询区域标识符](https//www.volcengine.com/docs/6469/1133973)。
    DescribeLiveStreamSessionDataBodyRegionListItem.setArea("CN");
    
    // 区域信息中的国家标识符,如何获取请参见[查询区域标识符](https//www.volcengine.com/docs/6469/1133973)。如果按国家筛选,需要同时传入 `Area` 和 `Country`。
    DescribeLiveStreamSessionDataBodyRegionListItem.setCountry("CN");
    
    // 区域信息中的省份标识符,国外暂不支持该参数,如何获取请参见[查询区域标识符](https//www.volcengine.com/docs/6469/1133973)。如果按省筛选,需要同时传入 `Area`、`Country` 和 `Province`。
    DescribeLiveStreamSessionDataBodyRegionListItem.setProvince("beijing");
    DescribeLiveStreamSessionDataBodyRegionList.add(DescribeLiveStreamSessionDataBodyRegionListItem);

    body.setRegionList(DescribeLiveStreamSessionDataBodyRegionList); 

    
    // 查询的开始时间,RFC3339 格式的 UTC 时间,精度为秒。
    body.setStartTime("2021-04-13T00:00:00+08:00");
    
    // 查询的结束时间,RFC3339 格式的 UTC 时间,精度为秒。
    body.setEndTime("2021-04-14T00:00:00+08:00");
    
    // 数据聚合的时间粒度,单位为秒,支持的时间粒度如下所示。
    // <li> 60:1 分钟。时间粒度为 1 分钟时,单次查询最大时间跨度为 24 小时,历史查询时间范围为 366 天; </li>
    // <li> 300:(默认值)5 分钟。时间粒度为 5 分钟时,单次查询最大时间跨度为 31 天,历史查询时间范围为 366 天; </li>
    // <li> 3600:1 天。时间粒度为 1 天时,单次查询最大时间跨度为 93 天,历史查询时间范围为 366 天。 </li>
    body.setAggregation(003);
    
    // 数据拆分的维度,缺省情况下不进行数据拆分,支持的维度如下所示。
    // <li> Domain:域名; </li>
    // <li> ISP:运营商; </li>
    // <li> Protocol:推拉流协议; </li>
    // <li> Referer:请求的 Referer 信息。 </li>
    // note:
    // 配置数据拆分维度时,对应的维度参数需传入多个值时会返回按维度进行拆分的数据;对应的维度只传入一个值时不返回按维度进行拆分的数据。
    List<String> DescribeLiveStreamSessionDataBodyDetailField = new ArrayList<>(); 

    DescribeLiveStreamSessionDataBodyDetailField.add("Domain");
    
    body.setDetailField(DescribeLiveStreamSessionDataBodyDetailField);

    try {
      DescribeLiveStreamSessionDataRes resp = service.describeLiveStreamSessionData(body);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

查询直播流或域名的流量监控数据

您可以调用 DescribeLiveMetricTrafficData 接口查询直播流或域名的流量监控数据。详细的参数说明可参见 DescribeLiveMetricTrafficData 接口文档。

接口调用示例如下所示。

package com.volcengine.live.demo;
import com.volcengine.model.live.v20230101.DescribeLiveMetricTrafficDataBody; 
import com.volcengine.model.live.v20230101.DescribeLiveMetricTrafficDataBodyRegionListItem; 
import com.volcengine.model.live.v20230101.DescribeLiveMetricTrafficDataBodyUserRegionListItem;
import com.volcengine.model.live.v20230101.DescribeLiveMetricTrafficDataRes;
import com.volcengine.service.live.v20230101.LiveService;
import java.util.ArrayList; 
import java.util.List; 

public class DescribeLiveMetricTrafficDataDemo  {
  public static void main(String[] args) {
    // 强烈建议不要把 AccessKey ID 和 AccessKey Secret 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 AccessKey ID 和 AccessKey Secret,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 ACCESS_KEY_ID 和 ACCESS KEY_SECRET
    LiveService service = LiveService.getInstance();

    service.setAccessKey(System.getenv("ACCESS_KEY_ID"));

    service.setSecretKey(System.getenv("ACCESS_KEY_SECRET"));

    DescribeLiveMetricTrafficDataBody body = new DescribeLiveMetricTrafficDataBody();
     
    // 域名列表,缺省情况表示当前用户的所有推拉流域名。
    List<String> DescribeLiveMetricTrafficDataBodyDomainList = new ArrayList<>(); 

    DescribeLiveMetricTrafficDataBodyDomainList.add("example.com");
    
    body.setDomainList(DescribeLiveMetricTrafficDataBodyDomainList); 
    
    // 应用名称。
    body.setApp("example_app");
    
    // 流名称。
    // note:
    // 使用 `Stream` 构造请求时,需同时定义 `App` 参数,不可缺省。
    body.setStream("example_stream");
    
    // 推拉流协议,缺省情况下表示所有协议类型,支持的协议如下所示。
    // <li> HTTP-FLV:基于 HTTP 协议的推拉流协议,使用 FLV 格式传输视频格式。 </li>
    // <li> HTTP-HLS:基于 HTTP 协议的推拉流协议,使用 TS 格式传输视频格式。 </li>
    // <li> RTMP:Real Time Message Protocol,实时信息传输协议。 </li>
    // <li> RTM:Real Time Media,超低延时直播协议。 </li>
    // <li> SRT:Secure Reliable Transport,安全可靠传输协议。 </li>
    // <li> QUIC:Quick UDP Internet Connections,一种基于 UDP 的全新的低延时互联网传输协议。 </li>
    // note:
    // 如果查询推拉流协议为 QUIC,不能同时查询其他协议。
    List<String> DescribeLiveMetricTrafficDataBodyProtocolList = new ArrayList<>(); 

    DescribeLiveMetricTrafficDataBodyProtocolList.add("HTTP-FLV");
    DescribeLiveMetricTrafficDataBodyProtocolList.add("RTMP");
    
    body.setProtocolList(DescribeLiveMetricTrafficDataBodyProtocolList); 
    
    // 提供网络接入服务的运营商标识符,缺省情况下表示所有运营商,支持的运营商如下所示。
    // <li> unicom:联通; </li>
    // <li> railcom:铁通; </li>
    // <li> telecom:电信; </li>
    // <li> mobile:移动; </li>
    // <li> cernet:教育网; </li>
    // <li> tianwei:天威; </li>
    // <li> alibaba:阿里巴巴; </li>
    // <li> tencent:腾讯; </li>
    // <li> drpeng:鹏博士; </li>
    // <li> btvn:广电; </li>
    // <li> huashu:华数; </li>
    // <li> other:其他。 </li>
    // 您也可以通过 [DescribeLiveISPData](https//www.volcengine.com/docs/6469/1133974) 接口获取运营商对应的标识符。
    List<String> DescribeLiveMetricTrafficDataBodyISPList = new ArrayList<>(); 

    DescribeLiveMetricTrafficDataBodyISPList.add("telecom");
    
    body.setISPList(DescribeLiveMetricTrafficDataBodyISPList); 
    
    // CDN 节点 IP 所属区域的列表,缺省情况下表示所有区域。
    // note:
    // 参数 `RegionList`和`UserRegionList` 不支持同时传入。
    List<DescribeLiveMetricTrafficDataBodyRegionListItem> DescribeLiveMetricTrafficDataBodyRegionList = new ArrayList<>(); 

    DescribeLiveMetricTrafficDataBodyRegionListItem DescribeLiveMetricTrafficDataBodyRegionListItem = new DescribeLiveMetricTrafficDataBodyRegionListItem(); 
 
    // 区域信息中的大区标识符,如何获取请参见[查询区域标识符](https//www.volcengine.com/docs/6469/1133973)。
    DescribeLiveMetricTrafficDataBodyRegionListItem.setArea("CN");
    
    // 区域信息中的国家标识符,如何获取请参见[查询区域标识符](https//www.volcengine.com/docs/6469/1133973)。如果按国家筛选,需要同时传入 `Area` 和 `Country`。 
    DescribeLiveMetricTrafficDataBodyRegionListItem.setCountry("CN");
    
    // 区域信息中的省份标识符,国外暂不支持该参数,如何获取请参见[查询区域标识符](https//www.volcengine.com/docs/6469/1133973)。如果按省筛选,需要同时传入 `Area`、`Country` 和 `Province`。
    DescribeLiveMetricTrafficDataBodyRegionListItem.setProvince("beijing");
    DescribeLiveMetricTrafficDataBodyRegionList.add(DescribeLiveMetricTrafficDataBodyRegionListItem);

    body.setRegionList(DescribeLiveMetricTrafficDataBodyRegionList); 

    
    // 客户端 IP 所属区域的列表,缺省情况下表示所有区域。
    // note:
    // 参数 `RegionList`和`UserRegionList` 不支持同时传入。
    List<DescribeLiveMetricTrafficDataBodyUserRegionListItem> DescribeLiveMetricTrafficDataBodyUserRegionList = new ArrayList<>(); 

    DescribeLiveMetricTrafficDataBodyUserRegionListItem DescribeLiveMetricTrafficDataBodyUserRegionListItem = new DescribeLiveMetricTrafficDataBodyUserRegionListItem(); 
 
    // 大区,映射关系请参见区域映射
    DescribeLiveMetricTrafficDataBodyUserRegionListItem.setArea("CN");
    
    // 国家,映射关系请参见区域映射。如果按国家筛选,需要同时传入 Area 和 Country。
    DescribeLiveMetricTrafficDataBodyUserRegionListItem.setCountry("CN");
    
    // 国内为省,国外暂不支持该参数,映射关系请参见区域映射。如果按省筛选,需要同时传入 Area、Country 和 Province。
    DescribeLiveMetricTrafficDataBodyUserRegionListItem.setProvince("beijing");
    DescribeLiveMetricTrafficDataBodyUserRegionList.add(DescribeLiveMetricTrafficDataBodyUserRegionListItem);

    body.setUserRegionList(DescribeLiveMetricTrafficDataBodyUserRegionList); 

    
    // 查询的开始时间,RFC3339 格式的 UTC 时间,精度为秒。
    body.setStartTime("2021-04-13T00:00:00+08:00");
    
    // 查询的结束时间,RFC3339 格式的 UTC 时间,精度为秒。
    body.setEndTime("2021-04-14T00:00:00+08:00");
    
    // 聚合的时间粒度,单位为秒,支持的时间粒度如下所示。
    // <li> 60:1 分钟。时间粒度为 1 分钟时,单次查询最大时间跨度为 24 小时,历史查询时间范围为 366 天; </li>
    // <li> 300:(默认值)5 分钟。时间粒度为 5 分钟时,单次查询最大时间跨度为 31 天,历史查询时间范围为 366 天; </li>
    // <li> 3600:1 小时。时间粒度为 1 小时时,单次查询最大时间跨度为 93 天,历史查询时间范围为 366 天。 </li>
    body.setAggregation(300);
    
    // 数据拆分的维度,缺省情况下不进行数据拆分,支持的维度如下所示。
    // <li> Domain:域名; </li>
    // <li> Protocol:推拉流协议; </li>
    // <li> ISP:运营商。 </li>
    // note:
    // 配置数据拆分维度时,对应的维度参数需传入多个值时会返回按维度进行拆分的数据;对应的维度只传入一个值时不返回按维度进行拆分的数据。
    List<String> DescribeLiveMetricTrafficDataBodyDetailField = new ArrayList<>(); 

    DescribeLiveMetricTrafficDataBodyDetailField.add("Domain");
    
    body.setDetailField(DescribeLiveMetricTrafficDataBodyDetailField);

    try {
      DescribeLiveMetricTrafficDataRes resp = service.describeLiveMetricTrafficData(body);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

查询直播流或域名的带宽监控数据

您可以调用 DescribeLiveMetricBandwidthData 接口查询直播流或域名的带宽监控数据。详细的参数说明可参见 DescribeLiveMetricBandwidthData 接口文档。

接口调用示例如下所示。

package com.volcengine.live.demo;
import com.volcengine.model.live.v20230101.DescribeLiveMetricBandwidthDataBody; 
import com.volcengine.model.live.v20230101.DescribeLiveMetricBandwidthDataBodyRegionListItem; 
import com.volcengine.model.live.v20230101.DescribeLiveMetricBandwidthDataBodyUserRegionListItem;
import com.volcengine.model.live.v20230101.DescribeLiveMetricBandwidthDataRes;
import com.volcengine.service.live.v20230101.LiveService;
import java.util.ArrayList; 
import java.util.List; 

public class DescribeLiveMetricBandwidthDataDemo  {
  public static void main(String[] args) {
    // 强烈建议不要把 AccessKey ID 和 AccessKey Secret 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 AccessKey ID 和 AccessKey Secret,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 ACCESS_KEY_ID 和 ACCESS KEY_SECRET
    LiveService service = LiveService.getInstance();

    service.setAccessKey(System.getenv("ACCESS_KEY_ID"));

    service.setSecretKey(System.getenv("ACCESS_KEY_SECRET"));

    DescribeLiveMetricBandwidthDataBody body = new DescribeLiveMetricBandwidthDataBody();
     
    // 域名列表,缺省情况表示当前用户的所有推拉流域名。
    List<String> DescribeLiveMetricBandwidthDataBodyDomainList = new ArrayList<>(); 

    DescribeLiveMetricBandwidthDataBodyDomainList.add("example.com");
    
    body.setDomainList(DescribeLiveMetricBandwidthDataBodyDomainList); 
    
    // 查询流粒度数据时的应用名称。
    // note:
    // 使用 `App` 构造请求时,需同时定义 `Stream` 参数,不可缺省。
    body.setApp("example_app");
    
    // 查询流粒度数据时的流名称参数。
    // note:
    // 使用 `Stream` 构造请求时,需同时定义 `App` 参数,不可缺省。
    body.setStream("example_stream");
    
    // 推拉流协议,缺省情况下表示所有协议类型,支持的协议如下所示。
    // <li> HTTP-FLV:基于 HTTP 协议的推拉流协议,使用 FLV 格式传输视频格式。 </li>
    // <li> HTTP-HLS:基于 HTTP 协议的推拉流协议,使用 TS 格式传输视频格式。 </li>
    // <li> RTMP:Real Time Message Protocol,实时信息传输协议。 </li>
    // <li> RTM:Real Time Media,超低延时直播协议。 </li>
    // <li> SRT:Secure Reliable Transport,安全可靠传输协议。 </li>
    // <li> QUIC:Quick UDP Internet Connections,一种基于 UDP 的全新的低延时互联网传输协议。 </li>
    // note:
    // 如果查询推拉流协议为 QUIC,不能同时查询其他协议。
    List<String> DescribeLiveMetricBandwidthDataBodyProtocolList = new ArrayList<>(); 

    DescribeLiveMetricBandwidthDataBodyProtocolList.add("HTTP-FLV");
    DescribeLiveMetricBandwidthDataBodyProtocolList.add("RTMP");
    
    body.setProtocolList(DescribeLiveMetricBandwidthDataBodyProtocolList); 
    
    // 提供网络接入服务的运营商标识符,缺省情况下表示所有运营商,支持的运营商如下所示。
    // <li> unicom:联通; </li>
    // <li> railcom:铁通; </li>
    // <li> telecom:电信; </li>
    // <li> mobile:移动; </li>
    // <li> cernet:教育网; </li>
    // <li> tianwei:天威; </li>
    // <li> alibaba:阿里巴巴; </li>
    // <li> tencent:腾讯; </li>
    // <li> drpeng:鹏博士; </li>
    // <li> btvn:广电; </li>
    // <li> huashu:华数; </li>
    // <li> other:其他。 </li>
    // 您也可以通过 [DescribeLiveISPData](https//www.volcengine.com/docs/6469/1133974) 接口获取运营商对应的标识符。
    List<String> DescribeLiveMetricBandwidthDataBodyISPList = new ArrayList<>(); 

    DescribeLiveMetricBandwidthDataBodyISPList.add("telecom");
    
    body.setISPList(DescribeLiveMetricBandwidthDataBodyISPList); 
    
    // CDN 节点 IP 所属区域的列表,缺省情况下表示所有区域。
    // note:
    // 参数 `RegionList`和`UserRegionList` 不支持同时传入。
    List<DescribeLiveMetricBandwidthDataBodyRegionListItem> DescribeLiveMetricBandwidthDataBodyRegionList = new ArrayList<>(); 

    DescribeLiveMetricBandwidthDataBodyRegionListItem DescribeLiveMetricBandwidthDataBodyRegionListItem = new DescribeLiveMetricBandwidthDataBodyRegionListItem(); 
 
    // 区域信息中的大区标识符,如何获取请参见[查询区域标识符](https//www.volcengine.com/docs/6469/1133973)。 
    DescribeLiveMetricBandwidthDataBodyRegionListItem.setArea("CN");
    
    // 区域信息中的国家标识符,如何获取请参见[查询区域标识符](https//www.volcengine.com/docs/6469/1133973)。如果按国家筛选,需要同时传入 `Area` 和 `Country`。
    DescribeLiveMetricBandwidthDataBodyRegionListItem.setCountry("CN");
    
    // 区域信息中的省份标识符,国外暂不支持该参数,如何获取请参见[查询区域标识符](https//www.volcengine.com/docs/6469/1133973)。如果按省筛选,需要同时传入 `Area`、`Country` 和 `Province`。
    DescribeLiveMetricBandwidthDataBodyRegionListItem.setProvince("beijing");
    DescribeLiveMetricBandwidthDataBodyRegionList.add(DescribeLiveMetricBandwidthDataBodyRegionListItem);

    body.setRegionList(DescribeLiveMetricBandwidthDataBodyRegionList); 

    
    // 客户端 IP 所属区域的列表,缺省情况下表示所有区域。
    // note:
    // 参数 `RegionList`和`UserRegionList` 不支持同时传入。
    List<DescribeLiveMetricBandwidthDataBodyUserRegionListItem> DescribeLiveMetricBandwidthDataBodyUserRegionList = new ArrayList<>(); 

    DescribeLiveMetricBandwidthDataBodyUserRegionListItem DescribeLiveMetricBandwidthDataBodyUserRegionListItem = new DescribeLiveMetricBandwidthDataBodyUserRegionListItem(); 
 
    // 大区,映射关系请参见区域映射
    DescribeLiveMetricBandwidthDataBodyUserRegionListItem.setArea("CN");
    
    // 国家,映射关系请参见区域映射。如果按国家筛选,需要同时传入 Area 和 Country。
    DescribeLiveMetricBandwidthDataBodyUserRegionListItem.setCountry("CN");
    
    // 国内为省,国外暂不支持该参数,映射关系请参见区域映射。如果按省筛选,需要同时传入 Area、Country 和 Province。
    DescribeLiveMetricBandwidthDataBodyUserRegionListItem.setProvince("beijing");
    DescribeLiveMetricBandwidthDataBodyUserRegionList.add(DescribeLiveMetricBandwidthDataBodyUserRegionListItem);

    body.setUserRegionList(DescribeLiveMetricBandwidthDataBodyUserRegionList); 

    
    // 查询的开始时间,RFC3339 格式的 UTC 时间,精度为秒。
    body.setStartTime("2021-04-13T00:00:00+08:00");
    
    // 查询的结束时间,RFC3339 格式的 UTC 时间,精度为秒。
    body.setEndTime("2021-04-14T00:00:00+08:00");
    
    // 聚合的时间粒度,单位为秒,支持的时间粒度如下所示。
    // <li> 60:1 分钟。时间粒度为 1 分钟时,单次查询最大时间跨度为 24 小时,历史查询时间范围为 366 天; </li>
    // <li> 300:(默认值)5 分钟。时间粒度为 5 分钟时,单次查询最大时间跨度为 31 天,历史查询时间范围为 366 天; </li>
    // <li> 3600:1 小时。时间粒度为 1 小时时,单次查询最大时间跨度为 93 天,历史查询时间范围为 366 天。 </li>
    body.setAggregation(300);
    
    // 数据拆分的维度,缺省情况下不进行数据拆分,支持的维度如下所示。
    // <li> Domain:域名; </li>
    // <li> Protocol:推拉流协议; </li>
    // <li> ISP:运营商。 </li>
    // note:
    // 配置数据拆分维度时,对应的维度参数需传入多个值时会返回按维度进行拆分的数据;对应的维度只传入一个值时不返回按维度进行拆分的数据。
    List<String> DescribeLiveMetricBandwidthDataBodyDetailField = new ArrayList<>(); 

    DescribeLiveMetricBandwidthDataBodyDetailField.add("Domain");
    
    body.setDetailField(DescribeLiveMetricBandwidthDataBodyDetailField);

    try {
      DescribeLiveMetricBandwidthDataRes resp = service.describeLiveMetricBandwidthData(body);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

查询直播流或域名的回源流量监控数据

您可以调用 DescribeLiveSourceTrafficData 接口查询直播流或域名的回源流量监控数据。详细的参数说明可参见 DescribeLiveSourceTrafficData 接口文档。

接口调用示例如下所示。

package com.volcengine.live.demo;
import com.volcengine.model.live.v20230101.DescribeLiveSourceTrafficDataBody; 
import com.volcengine.model.live.v20230101.DescribeLiveSourceTrafficDataBodyUserRegionListItem;
import com.volcengine.model.live.v20230101.DescribeLiveSourceTrafficDataRes;
import com.volcengine.service.live.v20230101.LiveService;
import java.util.ArrayList; 
import java.util.List; 

public class DescribeLiveSourceTrafficDataDemo  {
  public static void main(String[] args) {
    // 强烈建议不要把 AccessKey ID 和 AccessKey Secret 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 AccessKey ID 和 AccessKey Secret,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 ACCESS_KEY_ID 和 ACCESS KEY_SECRET
    LiveService service = LiveService.getInstance();

    service.setAccessKey(System.getenv("ACCESS_KEY_ID"));

    service.setSecretKey(System.getenv("ACCESS_KEY_SECRET"));

    DescribeLiveSourceTrafficDataBody body = new DescribeLiveSourceTrafficDataBody();
     
    // 拉流域名列表,缺省情况表示当前用户的所有推拉流域名。
    // note:
    // `DomainList` 和 `Domain` 传且仅传一个。
    List<String> DescribeLiveSourceTrafficDataBodyDomainList = new ArrayList<>(); 

    DescribeLiveSourceTrafficDataBodyDomainList.add("example.com");
    DescribeLiveSourceTrafficDataBodyDomainList.add("example2.com");
    
    body.setDomainList(DescribeLiveSourceTrafficDataBodyDomainList); 
    
    // 查询流粒度数据时的域名,支持拉流域名。
    // note:
    // 使用 `Domain` 构造请求时,需要同时定义 `App` 和 `Stream` 参数,不可缺省。
    body.setDomain("example.com");
    
    // 查询流粒度数据时的应用名称。
    // note:
    // 使用 `App` 构造请求时,需要同时定义 `Domain` 和 `Stream` 参数,不可缺省。
    body.setApp("example_app");
    
    // 查询流粒度数据时的流名称。
    // note:
    // 使用 `Stream` 构造请求时,需要同时定义 `Domain` 和 `App` 参数,不可缺省。
    body.setStream("example_stream");
    
    // 提供网络接入服务的运营商标识符,缺省情况下表示所有运营商,支持的运营商如下所示。
    // <li> unicom:联通; </li>
    // <li> railcom:铁通; </li>
    // <li> telecom:电信; </li>
    // <li> mobile:移动; </li>
    // <li> cernet:教育网; </li>
    // <li> tianwei:天威; </li>
    // <li> alibaba:阿里巴巴; </li>
    // <li> tencent:腾讯; </li>
    // <li> drpeng:鹏博士; </li>
    // <li> btvn:广电; </li>
    // <li> huashu:华数; </li>
    // <li> other:其他。 </li>
    // 您也可以通过 [DescribeLiveISPData](https//www.volcengine.com/docs/6469/1133974) 接口获取运营商对应的标识符。
    List<String> DescribeLiveSourceTrafficDataBodyISPList = new ArrayList<>(); 

    DescribeLiveSourceTrafficDataBodyISPList.add("telecom");
    
    body.setISPList(DescribeLiveSourceTrafficDataBodyISPList); 
    
    // 客户端 IP 所属区域的列表,缺省情况下表示所有区域。
    List<DescribeLiveSourceTrafficDataBodyUserRegionListItem> DescribeLiveSourceTrafficDataBodyUserRegionList = new ArrayList<>(); 

    DescribeLiveSourceTrafficDataBodyUserRegionListItem DescribeLiveSourceTrafficDataBodyUserRegionListItem = new DescribeLiveSourceTrafficDataBodyUserRegionListItem(); 
 
    // 区域信息中的大区标识符,如何获取请参见[查询区域标识符](https//www.volcengine.com/docs/6469/1133973)。 
    DescribeLiveSourceTrafficDataBodyUserRegionListItem.setArea("CN");
    
    // 区域信息中的国家标识符,如何获取请参见[查询区域标识符](https//www.volcengine.com/docs/6469/1133973)。如果按国家筛选,需要同时传入 `Area` 和 `Country`。
    DescribeLiveSourceTrafficDataBodyUserRegionListItem.setCountry("CN");
    
    // 区域信息中的省份标识符,国外暂不支持该参数,如何获取请参见[查询区域标识符](https//www.volcengine.com/docs/6469/1133973)。如果按省筛选,需要同时传入 `Area`、`Country` 和 `Province`。
    DescribeLiveSourceTrafficDataBodyUserRegionListItem.setProvince("beijing");
    DescribeLiveSourceTrafficDataBodyUserRegionList.add(DescribeLiveSourceTrafficDataBodyUserRegionListItem);

    body.setUserRegionList(DescribeLiveSourceTrafficDataBodyUserRegionList); 

    
    // 查询的开始时间,RFC3339 格式的 UTC 时间,精度为秒。
    body.setStartTime("2021-04-13T00:00:00+08:00");
    
    // 查询的结束时间,RFC3339 格式的 UTC 时间,精度为秒。
    body.setEndTime("2021-04-14T00:00:00+08:00");
    
    // 数据聚合的时间粒度,单位为秒,支持的时间粒度如下所示。
    // <li> 60:1 分钟。时间粒度为 1 分钟时,单次查询最大时间跨度为 24 小时,历史查询时间范围为 366 天; </li>
    // <li> 300:(默认值)5 分钟。时间粒度为 5 分钟时,单次查询最大时间跨度为 31 天,历史查询时间范围为 366 天; </li>
    // <li> 3600:1 小时。时间粒度为 1 小时时,单次查询最大时间跨度为 93 天,历史查询时间范围为 366 天。 </li>
    body.setAggregation(300);
    
    // 数据拆分的维度,缺省情况下不进行数据拆分,支持的维度如下所示。
    // <li> Domain:域名; </li>
    // <li> ISP:运营商。 </li>
    // note:
    // 配置数据拆分维度时,对应的维度参数传入多个值时会返回按维度进行拆分的数据;对应的维度只传入一个值时不返回按维度进行拆分的数据。
    List<String> DescribeLiveSourceTrafficDataBodyDetailField = new ArrayList<>(); 

    DescribeLiveSourceTrafficDataBodyDetailField.add("Domain");
    
    body.setDetailField(DescribeLiveSourceTrafficDataBodyDetailField);

    try {
      DescribeLiveSourceTrafficDataRes resp = service.describeLiveSourceTrafficData(body);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

查询直播流或域名的回源带宽监控数据

您可以调用 DescribeLiveSourceBandwidthData 接口查询直播流或域名的回源带宽监控数据。详细的参数说明可参见 DescribeLiveSourceBandwidthData 接口文档。

接口调用示例如下所示。

package com.volcengine.live.demo;
import com.volcengine.model.live.v20230101.DescribeLiveSourceBandwidthDataBody; 
import com.volcengine.model.live.v20230101.DescribeLiveSourceBandwidthDataBodyUserRegionListItem;
import com.volcengine.model.live.v20230101.DescribeLiveSourceBandwidthDataRes;
import com.volcengine.service.live.v20230101.LiveService;
import java.util.ArrayList; 
import java.util.List; 

public class DescribeLiveSourceBandwidthDataDemo  {
  public static void main(String[] args) {
    // 强烈建议不要把 AccessKey ID 和 AccessKey Secret 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 AccessKey ID 和 AccessKey Secret,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 ACCESS_KEY_ID 和 ACCESS KEY_SECRET
    LiveService service = LiveService.getInstance();

    service.setAccessKey(System.getenv("ACCESS_KEY_ID"));

    service.setSecretKey(System.getenv("ACCESS_KEY_SECRET"));

    DescribeLiveSourceBandwidthDataBody body = new DescribeLiveSourceBandwidthDataBody();
     
    // 拉流域名列表,缺省情况表示当前用户的所有推拉流域名。
    // note:
    // `DomainList` 和 `Domain` 传且仅传一个。
    List<String> DescribeLiveSourceBandwidthDataBodyDomainList = new ArrayList<>(); 

    DescribeLiveSourceBandwidthDataBodyDomainList.add("example.com");
    DescribeLiveSourceBandwidthDataBodyDomainList.add("example2.com");
    
    body.setDomainList(DescribeLiveSourceBandwidthDataBodyDomainList); 
    
    // 查询流粒度数据时的域名,支持填写拉流域名。
    // note:
    // 使用 `Domain` 构造请求时,需要同时定义 `App` 和 `Stream` 参数,不可缺省。
    body.setDomain("example.com");
    
    // 查询流粒度数据时的应用名称。
    // note:
    // 使用 `App` 构造请求时,需要同时定义 `Domain` 和 `Stream` 参数,不可缺省。
    body.setApp("example_app");
    
    // 查询流粒度数据时的流名称。
    // note:
    // 使用 `Stream` 构造请求时,需要同时定义 `Domain` 和 `App` 参数,不可缺省。
    body.setStream("example_stream");
    
    // 提供网络接入服务的运营商标识符,缺省情况下表示所有运营商,支持的运营商如下所示。
    // <li> unicom:联通; </li>
    // <li> railcom:铁通; </li>
    // <li> telecom:电信; </li>
    // <li> mobile:移动; </li>
    // <li> cernet:教育网; </li>
    // <li> tianwei:天威; </li>
    // <li> alibaba:阿里巴巴; </li>
    // <li> tencent:腾讯; </li>
    // <li> drpeng:鹏博士; </li>
    // <li> btvn:广电; </li>
    // <li> huashu:华数; </li>
    // <li> other:其他。 </li>
    // 您也可以通过 [DescribeLiveISPData](https//www.volcengine.com/docs/6469/1133974) 接口获取运营商对应的标识符。
    List<String> DescribeLiveSourceBandwidthDataBodyISPList = new ArrayList<>(); 

    DescribeLiveSourceBandwidthDataBodyISPList.add("telecom");
    
    body.setISPList(DescribeLiveSourceBandwidthDataBodyISPList); 
    
    // 客户端 IP 所属区域的列表,缺省情况下表示所有区域。
    List<DescribeLiveSourceBandwidthDataBodyUserRegionListItem> DescribeLiveSourceBandwidthDataBodyUserRegionList = new ArrayList<>(); 

    DescribeLiveSourceBandwidthDataBodyUserRegionListItem DescribeLiveSourceBandwidthDataBodyUserRegionListItem = new DescribeLiveSourceBandwidthDataBodyUserRegionListItem(); 
 
    // 区域信息的大区标识符,如何获取请参见[查询区域标识符](https//www.volcengine.com/docs/6469/1133973)。
    DescribeLiveSourceBandwidthDataBodyUserRegionListItem.setArea("CN");
    
    // 区域信息的国家标识符,如何获取请参见[查询区域标识符](https//www.volcengine.com/docs/6469/1133973)。如果按国家筛选,需要同时传入 `Area` 和 `Country`。
    DescribeLiveSourceBandwidthDataBodyUserRegionListItem.setCountry("CN");
    
    // 区域信息的省份标识符,国外暂不支持该参数,如何获取请参见[查询区域标识符](https//www.volcengine.com/docs/6469/1133973)。如果按省筛选,需要同时传入 `Area`、`Country` 和 `Province`。
    DescribeLiveSourceBandwidthDataBodyUserRegionListItem.setProvince("beijing");
    DescribeLiveSourceBandwidthDataBodyUserRegionList.add(DescribeLiveSourceBandwidthDataBodyUserRegionListItem);

    body.setUserRegionList(DescribeLiveSourceBandwidthDataBodyUserRegionList); 

    
    // 查询的开始时间,RFC3339 格式的 UTC 时间,精度为秒。
    body.setStartTime("2021-04-13T00:00:00+08:00");
    
    // 查询的结束时间,RFC3339 格式的 UTC 时间,精度为秒。
    body.setEndTime("2021-04-14T00:00:00+08:00");
    
    // 聚合的时间粒度,单位为秒,支持的时间粒度如下所示。
    // <li> 60:1 分钟。时间粒度为 1 分钟时,单次查询最大时间跨度为 24 小时,历史查询时间范围为 366 天; </li>
    // <li> 300:(默认值)5 分钟。时间粒度为 5 分钟时,单次查询最大时间跨度为 31 天,历史查询时间范围为 366 天; </li>
    // <li> 3600:1 小时。时间粒度为 1 小时时,单次查询最大时间跨度为 93 天,历史查询时间范围为 366 天。 </li>
    body.setAggregation(300);
    
    // 数据拆分的维度,缺省情况下不进行数据拆分,支持的维度如下所示。
    // <li> Domain:域名; </li>
    // <li> ISP:运营商。 </li>
    // note:
    // 配置数据拆分维度时,对应的维度参数传入多个值时会返回按维度进行拆分的数据;对应的维度只传入一个值时不返回按维度进行拆分的数据。
    List<String> DescribeLiveSourceBandwidthDataBodyDetailField = new ArrayList<>(); 

    DescribeLiveSourceBandwidthDataBodyDetailField.add("20");
    
    body.setDetailField(DescribeLiveSourceBandwidthDataBodyDetailField);

    try {
      DescribeLiveSourceBandwidthDataRes resp = service.describeLiveSourceBandwidthData(body);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

查询域名状态码占比

您可以调用 DescribeLivePlayStatusCodeData 接口查询域名状态码占比。详细的参数说明可参见 DescribeLivePlayStatusCodeData 接口文档。

接口调用示例如下所示。

package com.volcengine.live.demo;
import com.volcengine.model.live.v20230101.DescribeLivePlayStatusCodeDataBody; 
import com.volcengine.model.live.v20230101.DescribeLivePlayStatusCodeDataBodyRegionListItem; 
import com.volcengine.model.live.v20230101.DescribeLivePlayStatusCodeDataBodyUserRegionListItem;
import com.volcengine.model.live.v20230101.DescribeLivePlayStatusCodeDataRes;
import com.volcengine.service.live.v20230101.LiveService;
import java.util.ArrayList; 
import java.util.List; 

public class DescribeLivePlayStatusCodeDataDemo  {
  public static void main(String[] args) {
    // 强烈建议不要把 AccessKey ID 和 AccessKey Secret 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 AccessKey ID 和 AccessKey Secret,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 ACCESS_KEY_ID 和 ACCESS KEY_SECRET
    LiveService service = LiveService.getInstance();

    service.setAccessKey(System.getenv("ACCESS_KEY_ID"));

    service.setSecretKey(System.getenv("ACCESS_KEY_SECRET"));

    DescribeLivePlayStatusCodeDataBody body = new DescribeLivePlayStatusCodeDataBody();
     
    // 域名列表,缺省情况下表示当前用户的所有推拉流域名。
    List<String> DescribeLivePlayStatusCodeDataBodyDomainList = new ArrayList<>(); 

    DescribeLivePlayStatusCodeDataBodyDomainList.add("example.com");
    DescribeLivePlayStatusCodeDataBodyDomainList.add("example2.com");
    
    body.setDomainList(DescribeLivePlayStatusCodeDataBodyDomainList); 
    
    // 提供网络接入服务的运营商标识符,缺省情况下表示所有运营商,支持的运营商如下所示。
    // <li> unicom:联通; </li>
    // <li> railcom:铁通; </li>
    // <li> telecom:电信; </li>
    // <li> mobile:移动; </li>
    // <li> cernet:教育网; </li>
    // <li> tianwei:天威; </li>
    // <li> alibaba:阿里巴巴; </li>
    // <li> tencent:腾讯; </li>
    // <li> drpeng:鹏博士; </li>
    // <li> btvn:广电; </li>
    // <li> huashu:华数; </li>
    // <li> other:其他。 </li>
    // 您也可以通过 [DescribeLiveISPData](https//www.volcengine.com/docs/6469/1133974) 接口获取运营商对应的标识符。
    List<String> DescribeLivePlayStatusCodeDataBodyISPList = new ArrayList<>(); 

    DescribeLivePlayStatusCodeDataBodyISPList.add("telecom");
    
    body.setISPList(DescribeLivePlayStatusCodeDataBodyISPList); 
    
    // CDN 节点 IP 所属区域的列表,缺省情况下表示所有区域。
    // note:
    // 参数 `RegionList`和`UserRegionList` 不支持同时传入。
    List<DescribeLivePlayStatusCodeDataBodyRegionListItem> DescribeLivePlayStatusCodeDataBodyRegionList = new ArrayList<>(); 

    DescribeLivePlayStatusCodeDataBodyRegionListItem DescribeLivePlayStatusCodeDataBodyRegionListItem = new DescribeLivePlayStatusCodeDataBodyRegionListItem(); 
 
    // 区域信息中的大区标识符,如何获取请参见[查询区域标识符](https//www.volcengine.com/docs/6469/1133973)。
    DescribeLivePlayStatusCodeDataBodyRegionListItem.setArea("CN");
    
    // 区域信息中的国家标识符,如何获取请参见[查询区域标识符](https//www.volcengine.com/docs/6469/1133973)。如果按国家筛选,需要同时传入 `Area` 和 `Country`。
    DescribeLivePlayStatusCodeDataBodyRegionListItem.setCountry("CN");
    
    // 区域信息中的省份标识符,国外暂不支持该参数,如何获取请参见[查询区域标识符](https//www.volcengine.com/docs/6469/1133973)。如果按省筛选,需要同时传入 `Area`、`Country` 和 `Province`。
    DescribeLivePlayStatusCodeDataBodyRegionListItem.setProvince("beijing");
    DescribeLivePlayStatusCodeDataBodyRegionList.add(DescribeLivePlayStatusCodeDataBodyRegionListItem);

    body.setRegionList(DescribeLivePlayStatusCodeDataBodyRegionList); 

    
    // 客户端 IP 所属区域的列表,缺省情况下表示所有区域。
    // note:
    // 参数 `RegionList`和`UserRegionList` 不支持同时传入。
    List<DescribeLivePlayStatusCodeDataBodyUserRegionListItem> DescribeLivePlayStatusCodeDataBodyUserRegionList = new ArrayList<>(); 

    DescribeLivePlayStatusCodeDataBodyUserRegionListItem DescribeLivePlayStatusCodeDataBodyUserRegionListItem = new DescribeLivePlayStatusCodeDataBodyUserRegionListItem(); 
 
    // 大区,映射关系请参见区域映射
    DescribeLivePlayStatusCodeDataBodyUserRegionListItem.setArea("CN");
    
    // 国家,映射关系请参见区域映射。如果按国家筛选,需要同时传入 Area 和 Country。
    DescribeLivePlayStatusCodeDataBodyUserRegionListItem.setCountry("CN");
    
    // 国内为省,国外暂不支持该参数,映射关系请参见区域映射。如果按省筛选,需要同时传入 Area、Country 和 Province。
    DescribeLivePlayStatusCodeDataBodyUserRegionListItem.setProvince("beijing");
    DescribeLivePlayStatusCodeDataBodyUserRegionList.add(DescribeLivePlayStatusCodeDataBodyUserRegionListItem);

    body.setUserRegionList(DescribeLivePlayStatusCodeDataBodyUserRegionList); 

    
    // 查询的开始时间,RFC3339 格式的 UTC 时间,精度为秒。
    body.setStartTime("2021-04-13T00:00:00+08:00");
    
    // 查询的结束时间,RFC3339 格式的 UTC 时间,精度为秒。
    body.setEndTime("2021-04-14T00:00:00+08:00");
    
    // 聚合的时间粒度,单位为秒,支持的时间粒度如下所示。
    // <li> 60:(默认值)1 分钟。时间粒度为 1 分钟时,单次查询最大时间跨度为 24 小时,历史查询时间范围为 366 天; </li>
    // <li> 300:5 分钟。时间粒度为 5 分钟时,单次查询最大时间跨度为 31 天,历史查询时间范围为 366 天; </li>
    // <li> 3600:1 小时。时间粒度为 1 小时时,单次查询最大时间跨度为 93 天,历史查询时间范围为 366 天。 </li>
    body.setAggregation(300);
    
    // 数据拆分的维度,缺省情况下不进行数据拆分,支持的维度如下所示。
    // <li> Domain:域名; </li>
    // <li> ISP:运营商。 </li>
    // note:
    // 配置数据拆分维度时,对应的维度参数需传入多个值时会返回按维度进行拆分的数据;对应的维度只传入一个值时不返回按维度进行拆分的数据。
    List<String> DescribeLivePlayStatusCodeDataBodyDetailField = new ArrayList<>(); 

    DescribeLivePlayStatusCodeDataBodyDetailField.add("Domain");
    
    body.setDetailField(DescribeLivePlayStatusCodeDataBodyDetailField);

    try {
      DescribeLivePlayStatusCodeDataRes resp = service.describeLivePlayStatusCodeData(body);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

查询 IP 地址归属的 CDN 节点

您可以调用 DescribeIpInfo 接口查询 IP 地址归属的 CDN 节点。详细的参数说明可参见 DescribeIpInfo 接口文档。

接口调用示例如下所示。

package com.volcengine.live.demo;
import com.volcengine.model.live.v20230101.DescribeIpInfoBody;
import com.volcengine.model.live.v20230101.DescribeIpInfoRes;
import com.volcengine.service.live.v20230101.LiveService;
import java.util.ArrayList; 
import java.util.List; 

public class DescribeIpInfoDemo  {
  public static void main(String[] args) {
    // 强烈建议不要把 AccessKey ID 和 AccessKey Secret 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 AccessKey ID 和 AccessKey Secret,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 ACCESS_KEY_ID 和 ACCESS KEY_SECRET
    LiveService service = LiveService.getInstance();

    service.setAccessKey(System.getenv("ACCESS_KEY_ID"));

    service.setSecretKey(System.getenv("ACCESS_KEY_SECRET"));

    DescribeIpInfoBody body = new DescribeIpInfoBody();
     
    // 待查询的 IP 地址列表。支持 IPv4 和 IPv6 地址,一次最多查询 50 个 IP 地址。
    List<String> DescribeIpInfoBodyIps = new ArrayList<>(); 

    DescribeIpInfoBodyIps.add("186.199.***.1");
    
    body.setIps(DescribeIpInfoBodyIps);

    try {
      DescribeIpInfoRes resp = service.describeIpInfo(body);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

查询峰值流数

您可以调用 DescribeLiveStreamCountData 接口查询峰值流数。详细的参数说明可参见 DescribeLiveStreamCountData 接口文档。

接口调用示例如下所示。

package com.volcengine.live.demo;
import com.volcengine.model.live.v20230101.DescribeLiveStreamCountDataBody;
import com.volcengine.model.live.v20230101.DescribeLiveStreamCountDataRes;
import com.volcengine.service.live.v20230101.LiveService;
import java.util.ArrayList; 
import java.util.List; 

public class DescribeLiveStreamCountDataDemo  {
  public static void main(String[] args) {
    // 强烈建议不要把 AccessKey ID 和 AccessKey Secret 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 AccessKey ID 和 AccessKey Secret,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 ACCESS_KEY_ID 和 ACCESS KEY_SECRET
    LiveService service = LiveService.getInstance();

    service.setAccessKey(System.getenv("ACCESS_KEY_ID"));

    service.setSecretKey(System.getenv("ACCESS_KEY_SECRET"));

    DescribeLiveStreamCountDataBody body = new DescribeLiveStreamCountDataBody();
     
    // 域名列表,缺省情况表示当前用户的所有推拉流域名。
    List<String> DescribeLiveStreamCountDataBodyDomainList = new ArrayList<>(); 

    DescribeLiveStreamCountDataBodyDomainList.add("exmaple.com");
    DescribeLiveStreamCountDataBodyDomainList.add("example2.com");
    
    body.setDomainList(DescribeLiveStreamCountDataBodyDomainList); 
    
    // 查询的开始时间,RFC3339 格式的 UTC 时间,精度为秒。
    body.setStartTime("2021-08-16T00:00:00+08:00");
    
    // 查询的结束时间,RFC3339 格式的 UTC 时间,精度为秒。
    body.setEndTime("2021-08-16T00:01:59+08:00");
    
    // 聚合的时间粒度,单位为秒,支持的时间粒度如下所示。
    // <li> 60:1 分钟。时间粒度为 1 分钟时,单次查询最大时间跨度为 24 小时,历史查询时间范围为 366 天; </li>
    // <li> 300:(默认值)5 分钟。时间粒度为 5 分钟时,单次查询最大时间跨度为 31 天,历史查询时间范围为 366 天; </li>
    // <li> 3600:1 小时。时间粒度为 1 小时时,单次查询最大时间跨度为 93 天,历史查询时间范围为 366 天; </li>
    // <li> 86400:1 天。时间粒度为 1 天时,单次查询最大时间跨度为 93 天,历史查询时间范围为 366 天。 </li>
    body.setAggregation(60);
    
    // 数据拆分的维度,缺省情况下不进行数据拆分,支持的维度如下所示。
    // <li> Domain:域名。 </li>
    // note:
    // 配置数据拆分维度时,对应的维度参数传入多个值时会返回按维度进行拆分的数据;对应的维度只传入一个值时不返回按维度进行拆分的数据。
    List<String> DescribeLiveStreamCountDataBodyDetailField = new ArrayList<>(); 

    DescribeLiveStreamCountDataBodyDetailField.add("Domain");
    
    body.setDetailField(DescribeLiveStreamCountDataBodyDetailField); 
    
    // 流类型,缺省情况下表示全部类型,支持的流类型取值如下。
    // <li> push:推流; </li>
    // <li> relay-source:回源流; </li>
    // <li> transcode:转码流。 </li>
    List<String> DescribeLiveStreamCountDataBodyStreamType = new ArrayList<>(); 

    DescribeLiveStreamCountDataBodyStreamType.add("push");
    
    body.setStreamType(DescribeLiveStreamCountDataBodyStreamType);

    try {
      DescribeLiveStreamCountDataRes resp = service.describeLiveStreamCountData(body);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

查询推流峰值流数

您可以调用 DescribeLivePushStreamCountData 接口查询推流峰值流数。详细的参数说明可参见 DescribeLivePushStreamCountData 接口文档。

接口调用示例如下所示。

package com.volcengine.live.demo;
import com.volcengine.model.live.v20230101.DescribeLivePushStreamCountDataBody; 
import com.volcengine.model.live.v20230101.DescribeLivePushStreamCountDataBodyUserRegionListItem;
import com.volcengine.model.live.v20230101.DescribeLivePushStreamCountDataRes;
import com.volcengine.service.live.v20230101.LiveService;
import java.util.ArrayList; 
import java.util.List; 

public class DescribeLivePushStreamCountDataDemo  {
  public static void main(String[] args) {
    // 强烈建议不要把 AccessKey ID 和 AccessKey Secret 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 AccessKey ID 和 AccessKey Secret,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 ACCESS_KEY_ID 和 ACCESS KEY_SECRET
    LiveService service = LiveService.getInstance();

    service.setAccessKey(System.getenv("ACCESS_KEY_ID"));

    service.setSecretKey(System.getenv("ACCESS_KEY_SECRET"));

    DescribeLivePushStreamCountDataBody body = new DescribeLivePushStreamCountDataBody();
     
    // 域名列表,缺省情况表示当前用户的所有推流域名和拉流域名。
    List<String> DescribeLivePushStreamCountDataBodyDomainList = new ArrayList<>(); 

    DescribeLivePushStreamCountDataBodyDomainList.add("example1.com");
    DescribeLivePushStreamCountDataBodyDomainList.add("example2.com");
    
    body.setDomainList(DescribeLivePushStreamCountDataBodyDomainList); 
    
    // 查询的开始时间,RFC3339 格式的 UTC 时间,精度为秒。
    body.setStartTime("2021-08-16T00:00:00+08:00");
    
    // 查询的结束时间,RFC3339 格式的 UTC 时间,精度为秒。
    body.setEndTime("2021-08-16T00:01:59+08:00");
    
    // 数据聚合的时间粒度,单位为秒,支持的时间粒度如下所示。
    // <li> 60:1 分钟。时间粒度为 1 分钟时,单次查询最大时间跨度为 24 小时,历史查询时间范围为 366 天; </li>
    // <li> 300:(默认值)5 分钟。时间粒度为 5 分钟时,单次查询最大时间跨度为 31 天,历史查询时间范围为 366 天; </li>
    // <li> 3600:1 小时。时间粒度为 1 小时时,单次查询最大时间跨度为 93 天,历史查询时间范围为 366 天; </li>
    // <li> 86400:1 天。时间粒度为 1 天时,单次查询最大时间跨度为 93 天,历史查询时间范围为 366 天。 </li>
    body.setAggregation(60);
    
    // 数据拆分的维度,缺省情况下不进行数据拆分,支持的维度如下所示。
    // <li> Domain:域名。 </li>
    // note:
    // 配置数据拆分维度时,对应的维度参数传入多个值时会返回按维度进行拆分的数据;对应的维度只传入一个值时不返回按维度进行拆分的数据。
    List<String> DescribeLivePushStreamCountDataBodyDetailField = new ArrayList<>(); 

    DescribeLivePushStreamCountDataBodyDetailField.add("Domain");
    
    body.setDetailField(DescribeLivePushStreamCountDataBodyDetailField); 
    
    // 提供网络接入服务的运营商标识符,缺省情况下表示所有运营商,支持的运营商如下所示。
    // <li> unicom:联通; </li>
    // <li> railcom:铁通; </li>
    // <li> telecom:电信; </li>
    // <li> mobile:移动; </li>
    // <li> cernet:教育网; </li>
    // <li> tianwei:天威; </li>
    // <li> alibaba:阿里巴巴; </li>
    // <li> tencent:腾讯; </li>
    // <li> drpeng:鹏博士; </li>
    // <li> btvn:广电; </li>
    // <li> huashu:华数; </li>
    // <li> other:其他。 </li>
    // 您也可以通过 [DescribeLiveISPData](https//www.volcengine.com/docs/6469/1133974) 接口获取运营商对应的标识符。
    List<String> DescribeLivePushStreamCountDataBodyISPList = new ArrayList<>(); 

    DescribeLivePushStreamCountDataBodyISPList.add("telecom");
    
    body.setISPList(DescribeLivePushStreamCountDataBodyISPList); 
    
    // 客户端 IP 所属区域的列表,缺省情况下表示所有区域。
    List<DescribeLivePushStreamCountDataBodyUserRegionListItem> DescribeLivePushStreamCountDataBodyUserRegionList = new ArrayList<>(); 

    DescribeLivePushStreamCountDataBodyUserRegionListItem DescribeLivePushStreamCountDataBodyUserRegionListItem = new DescribeLivePushStreamCountDataBodyUserRegionListItem(); 
 
    // 区域信息中的大区标识符,如何获取请参见[查询区域标识符](https//www.volcengine.com/docs/6469/1133973)。
    DescribeLivePushStreamCountDataBodyUserRegionListItem.setArea("CN");
    
    // 区域信息中的省份标识符,国外暂不支持该参数,如何获取请参见[查询区域标识符](https//www.volcengine.com/docs/6469/1133973)。如果按省筛选,需要同时传入 `Area`、`Country` 和 `Province`。
    DescribeLivePushStreamCountDataBodyUserRegionListItem.setProvince("beijing");
    
    // 区域信息中的国家标识符,如何获取请参见[查询区域标识符](https//www.volcengine.com/docs/6469/1133973)。如果按国家筛选,需要同时传入 `Area` 和 `Country`。
    DescribeLivePushStreamCountDataBodyUserRegionListItem.setCountry("CN");
    DescribeLivePushStreamCountDataBodyUserRegionList.add(DescribeLivePushStreamCountDataBodyUserRegionListItem);

    body.setUserRegionList(DescribeLivePushStreamCountDataBodyUserRegionList);

    try {
      DescribeLivePushStreamCountDataRes resp = service.describeLivePushStreamCountData(body);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

查询推流流信息

您可以调用 DescribeLivePushStreamInfoData 接口查询推流流信息。详细的参数说明可参见 DescribeLivePushStreamInfoData 接口文档。

接口调用示例如下所示。

package com.volcengine.live.demo;
import com.volcengine.model.live.v20230101.DescribeLivePushStreamInfoDataBody;
import com.volcengine.model.live.v20230101.DescribeLivePushStreamInfoDataRes;
import com.volcengine.service.live.v20230101.LiveService;
import java.util.ArrayList; 
import java.util.List; 

public class DescribeLivePushStreamInfoDataDemo  {
  public static void main(String[] args) {
    // 强烈建议不要把 AccessKey ID 和 AccessKey Secret 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取 AccessKey ID 和 AccessKey Secret,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 ACCESS_KEY_ID 和 ACCESS KEY_SECRET
    LiveService service = LiveService.getInstance();

    service.setAccessKey(System.getenv("ACCESS_KEY_ID"));

    service.setSecretKey(System.getenv("ACCESS_KEY_SECRET"));

    DescribeLivePushStreamInfoDataBody body = new DescribeLivePushStreamInfoDataBody();
     
    // 直播推流使用的域名列表,缺省为空,表示当前账号下所有域名。您可以调用 [ListDomainDetail](https//www.volcengine.com/docs/6469/1126815) 接口或在视频直播控制台的[域名管理](https//console-stable.volcanicengine.com/live/main/domain/list)页面,查看直播推流使用的域名。
    List<String> DescribeLivePushStreamInfoDataBodyDomainList = new ArrayList<>(); 

    DescribeLivePushStreamInfoDataBodyDomainList.add("push.example.com");
    
    body.setDomainList(DescribeLivePushStreamInfoDataBodyDomainList); 
    
    // 应用名称,取值与直播流地址中 AppName 字段取值相同,默认为空,表示查询所有应用名称。支持由大小写字母(A - Z、a - z)、下划线(_)、短横线(-)和句点(.)组成,长度为 1 到 30 个字符。
    body.setApp("example_app");
    
    // 流名称,取值与直播流地址中 StreamName 字段取值相同,默认为空表示查询所有流名称。支持由大小写字母(A - Z、a - z)、下划线(_)、短横线(-)和句点(.)组成,长度为 1 到 100 个字符。
    body.setStream("example_stream");
    
    // 查询的开始时间,RFC3339 格式的时间字符串,精度为秒。
    // note:
    // 支持查询最近 93 天以内的推流数据。
    body.setStartTime("2021-04-13T00:00:00+08:00");
    
    // 查询的结束时间,RFC3339 格式的时间字符串,精度为秒。
    // note:
    // 支持查询最近 93 天以内的推流数据。
    body.setEndTime("2021-04-14T00:00:00+08:00");
    
    // 查询数据的页码,默认为 `1`,表示查询第一页的数据,取值范围为正整数。
    body.setPageNum(1);
    
    // 每页显示的数据条数,默认为 `20`,取值范围为 [1,1000]。
    body.setPageSize(20);

    try {
      DescribeLivePushStreamInfoDataRes resp = service.describeLivePushStreamInfoData(body);
      System.out.println(resp);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}