全部产品
存储与CDN 数据库 域名与网站(万网) 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 钉钉智能硬件
业务实时监控服务 ARMS

通用查询数据集接口

更新时间:2017-12-21 15:24:58

描述

ARMSQueryDataSet 主要用于查询 ARMS 中的数据集的数据。

API 名称 Request Response
ARMSQueryDataSet ARMSQueryDataSetRequest ARMSQueryDataSetResponse

请求参数

请求参数包含 POP 公共参数和业务参数两个部分。公共请求参数请参考 POP 参数说明

业务参数说明

阿里云将用户所有的请求参数封装在一个 Request 中,返回一个 Response。

ARMSQueryDataSetRequest 包含 11 个字段:

字段名称 字段类型 设置方法 字段含义 是否必选 备注
datasetId Long setDatasetId 数据集 ID
minTime Long setMinTime 查询数据的起始时间
maxTime Long setMaxTime 查询数据的截止时间
intervalInSec Integer setIntervalInSec 数据片的时间间隔
measures List[String] setMesures 查询指标列表 列表最长支持 3 个元素。如果为空,则返回所有指标数据
dimensions List[Dimension] setDimensions 查询维度列表 下钻数据集字段,dimensions 为复合参数,列表最长支持 3 个元素。Dimension 的定义见下一说明列表
requiredDims List[Dimension] setRequiredDims 通用数据集的必选维度 通用数据集字段
optionalDims List[Dimension] setOptionalDims 通用数据集的可选维度 通用数据集字段
orderByKey String setOrderByKey orderBy 指标
limit Integer setLimit 限制的返回个数
reduceTail Boolean setReduceTail 是否把 limit 之外的数据合并到一起
  • 当需要查询的数据集是下钻类型时,维度使用 dimensions。
  • 当需要查询的数据集是通用类型时,维度使用 requiredDims 和 optionalDims。
  • 下钻数据集和通用数据集的区别请参考文档创建数据集

Dimensions 复合字段说明

字段名称 字段类型 设置方法 字段含义 备注
key String setKey 维度名称 如:区域
value String setValue 维度值 如:北京
type String setType 取值方式 分别为:STATIC, ALL, DISABLED
  • 当您想选择该维度下面的所有的维度值时,type 设置为 ALL,value 为 null。
  • 当您想选择该维度下面的其中某个维度值时,type 设置为 STATIC(静态值),value 为输入维度值。
  • 当您不想选择该维度时候,可以直接忽略,或者将 type 设置为 DISABLED。

返回参数

返回值为 JSON 串形式返回,可通过 ARMSQueryDataSetResponse.getdata() 获取。

ARMSQueryDataSetResponse 主要字段有:

字段名称 字段含义 备注
dimensions 时序数据的维度值 当该维度选为ALL时,会有多个
measures 数据点中的指标
resultSize 返回的所有数据点个数
dimData 多条时序数据

完整使用示例

  1. 在不选择维度情况下,查询所有数据的汇总信息:

    1. include_once 'aliyun-php-sdk-core/Config.php';
    2. include_once 'aliyun-php-sdk-arms/ARMS/Request/V20161125/ARMSQueryDataSetRequest.php';
    3. include_once 'aliyun-php-sdk-arms/ARMS/Request/V20161125/WhereInDimQueryRequest.php';
    4. use ARMS\Request\V20161125\ARMSQueryDataSetRequest as ARMSQueryDataSetRequest;
    5. //设置连接参数,其中,endpoint为例如 "cn-hangzhou","cn-beijing",等, AK, SK请根据您的实际情况填写,
    6. $iClientProfile = DefaultProfile::getProfile("cn-hangzhou", "your_ak", "your_sk");
    7. $client = new DefaultAcsClient($iClientProfile);
    8. $request = new ARMSQueryDataSetRequest();
    9. //填写正确的数据集ID
    10. $request->setDatasetId(12221);
    11. //时间粒度,比如为60秒
    12. $request->setIntervalInSec(60);
    13. //最小时间,本例为当前时间的一小时前
    14. $request->setMinTime((int)time()*1000 - 3600000);
    15. //最大时间,可设置为当前时间
    16. $request->setMaxTime((int)time()*1000);
    17. // ****后续的2、3、4示例代码插入此处****
    18. //发送请求
    19. $response = $client->doAction($request);
    20. //打印请求
    21. print_r( $response->getBody());
  2. 选择第一个维度,将维度值设为空字符串(“”),类型为 ALL(全部)。结果返回按第一维度 group 的数据:

    1. $dims = array (array("Key"=>"类目", "Value" => "", "Type" => "ALL"));
    2. $request->setDimensionss($dims);
  3. 选择第一个维度,将维度值设为固定值,如 hangzhou,类型为 STATIC(固定值)。结果返回按第一维度的 hangzhou 数据:

    1. $dims = array (array("Key"=>"类目", "Value" => "nanzhuang", "Type" => "STATIC"));
    2. $request->setDimensionss($dims);
  4. 选择要查询的指标列表,返回结果只返回您指定的指标:

    1. $measures = array ("COUNT__line");
    2. $request->setMeasuress($measures);
本文导读目录