全部产品
弹性计算 会员服务 网络 安全 移动云 数加·大数据分析及展现 数加·大数据应用 管理与监控 云通信 阿里云办公 培训与认证 ET大脑 更多
存储与CDN 数据库 域名与网站(万网) 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 智能硬件
业务实时监控服务 ARMS

下钻数据集查询接口

更新时间:2018-07-23 15:50:40

本文介绍了下钻数据集查询接口。关于下钻数据集和通用数据集的区别,请参考通用维度与下钻维度

描述

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

API 名称 Request Response
ARMSQueryDataSet ARMSQueryDataSetRequest ARMSQueryDataSetResponse

请求参数

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

业务参数说明

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

ARMSQueryDataSetRequest 包含以下字段:

字段名称 字段类型 设置方法 字段含义 是否必选 备注
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 的定义见下一说明列表
orderByKey String setOrderByKey orderBy 指标
limit Integer setLimit 限制的返回个数
reduceTail Boolean setReduceTail 是否把 limit 之外的数据合并到一起
securityToken String setSecurityToken STS securityToken 采用 RAM 用户角色模式时需要设置该字段。详情请参考创建 RAM 用户角色并授权

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/V20180620/ARMSQueryDataSetRequest.php';
    3. include_once 'aliyun-php-sdk-arms/ARMS/Request/V20180620/WhereInDimQueryRequest.php';
    4. use ARMS\Request\V20180620\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);
本文导读目录