全部产品
阿里云办公

下钻数据集查询接口

更新时间:2018-12-11 10:59:21

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

描述

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. #!/usr/bin/env python
    2. #encoding: utf-8
    3. from aliyunsdkcore import client
    4. from aliyunsdkarms.request.v20180620 import ARMSQueryDataSetRequest
    5. import time
    6. def main():
    7. #设置阿里云公共参数, 请参考本页顶部[POP参数说明]。
    8. #关于 Region 的详细信息请参考本文末尾的参考文档《ARMS Open API 概述》
    9. region = 'cn-hangzhou'
    10. #用户主账号/RAM 子账号的 SK,或者 RAM 用户角色的临时安全令牌的 SK
    11. accessKeyID = 'xxx'
    12. accessKeySecret = 'xxx'
    13. #构造client
    14. clt = client.AcsClient(accessKeyID, accessKeySecret, region)
    15. #构造业务参数
    16. armsQueryDataSetRequest = ARMSQueryDataSetRequest.ARMSQueryDataSetRequest()
    17. #填写正确的数据集ID,在在ARMS数据集管理页面确定
    18. armsQueryDataSetRequest.set_DatasetId(12221L)
    19. #设置查询间隔时间,在本例中为60秒
    20. armsQueryDataSetRequest.set_IntervalInSec(60)
    21. #设置查询时间的间隔,本例中为最近一个小时,注意单位为毫秒,必须为整型
    22. armsQueryDataSetRequest.set_MinTime(int(time.time()*1000)-3600000)
    23. armsQueryDataSetRequest.set_MaxTime(int(time.time()*1000))
    24. // ****后续的2、3、4示例代码插入此处****
    25. #发送请求
    26. armsQueryDataSetResponse = clt.do_action(armsQueryDataSetRequest)
    27. #打印请求结果
    28. print armsQueryDataSetResponse
    29. if __name__ == '__main__':
    30. main()
  2. 选择第一个维度,将维度值设为空字符串(“”),类型为 ALL(全部)。结果返回按第一维度 group 的数据:

    1. dimensions = [{"Key":"区域","Value":"", "Type":"ALL"}]
    2. armsQueryDataSetRequest.set_Dimensionss(dimensions)
  3. 选择第一个维度,将维度值设为固定值,如 hangzhou,类型为 STATIC(固定值)。结果返回按第一维度的 hangzhou 数据:

    1. dimensions = [{"Key":"区域","Value":"hangzhou", "Type":"STATIC"}]
    2. armsQueryDataSetRequest.set_Dimensionss(dimensions)
  4. 选择要查询的指标列表,返回结果只返回您指定的指标:

    1. measures = ["COUNT__line"]
    2. armsQueryDataSetRequest.set_Measuress(measures)

参考