阿里云将用户所有的请求参数封装在一个 Request 中,返回一个 Response。
查询用户数据集
API 功能 Request Response
ARMSQueryDataSet ARMSQueryDataSetRequest ARMSQueryDataSetResponse
业务参数详细说明
ARMSQueryDataSetRequest 包含6个字段:
字段名称 字段类型 设置方法 字段含义 是否必选 备注
datasetId Long setDatasetId 数据集ID 是
minTime Long setMinTime 查询数据的起始时间 是
maxTime Long setMaxTime 查询数据的截止时间 是
intervalInSec Integer setIntervalInSec 数据片的时间间隔 是
dimensions List[Dimension] setDimensions 查询维度列表 否 Dimensions 为复合参数,列表最长支持3个元素。如果为空,则按第一个维度查询数据
measures List[String] setMesures 查询指标列表 否 列表最长支持3个元素。如果为空,则返回所有指标数据
isDrillDown Boolean setIsDrillDown 是否下钻 是
Dimensions 复合字段说明
字段名称 字段类型 设置方法 字段含义 备注
key String setKey 维度名称 如:区域
value String setValue 维度值 如:北京
返回参数 ARMSQueryDataSetResponse 说明:
返回值为 JSON 串形式返回,可通过ARMSQueryDataSetResponse.getdata()获取。
完整使用示例
import java.util.ArrayList;
import java.util.List;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.arms.model.v20161125.ARMSQueryDataSetRequest;
import com.aliyuncs.arms.model.v20161125.ARMSQueryDataSetRequest.Dimensions;
import com.aliyuncs.arms.model.v20161125.ARMSQueryDataSetResponse;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.profile.IClientProfile;
public class ARMSGeneralQuery
{
public static void main(String[] args) throws ClientException {
// 用户主账号的AK,在阿里云控制台上查看获取
String accessKeyId = "xxx";
// 用户主账号的SK,在阿里云控制台上查看获取
String accessKeySecret = "xxx";
//Region和endpoint保持一致,具体内容和ARMS的region绑定,
//目前支持cn-hangzhou和cn-beijing两种,填哪个由ARMS控制台的region为准。
String endpoint = "cn-hangzhou";
String region = "cn-hangzhou";
//产品名请固定填"ARMS"
String productName = "ARMS";
//如果是非杭州区域,请改写,如cn-beijing,
String domain = "arms.cn-hangzhou.aliyuncs.com";
IClientProfile profile = DefaultProfile.getProfile(region, accessKeyId, accessKeySecret);
DefaultProfile.addEndpoint(endpoint, region, productName, domain);
// 设置业务参数
ARMSQueryDataSetRequest armsQueryDataSetRequest = new ARMSQueryDataSetRequest();
//DatasetID在数据集管理页面上可查询到
armsQueryDataSetRequest.setDatasetId(1340l);
//查询数据的返回间隔,请务必自行保证为60的倍数
armsQueryDataSetRequest.setIntervalInSec(60);
//设置查询的起始时间,该例子为查询最近60秒数据,注意单位为毫秒
armsQueryDataSetRequest.setMinTime(System.currentTimeMillis() - 60000);
armsQueryDataSetRequest.setMaxTime(System.currentTimeMillis());
//以下例子为设置查询维度,该例子中,查询维度Key为区域,Value为上海
Dimensions dimensions = new Dimensions();
dimensions.setKey("区域");
dimensions.setValue("上海");
List<Dimensions> dimensionss = new ArrayList<Dimensions>();
dimensionss.add(dimensions);
//选择要读取的统计值,该例子中,查询的值为价格和数量
List<String> measuress = new ArrayList<String>();
measuress.add("价格");
measuress.add("数量");
armsQueryDataSetRequest.setDimensionss(dimensionss);
armsQueryDataSetRequest.setMeasuress(measuress);
//如果设置为false,则返回指定Dimension的单维数据,
//如果设置为true,则返回指定Dimension以下的多维数据
armsQueryDataSetRequest.setIsDrillDown(false);
IAcsClient client = new DefaultAcsClient(profile);
try {
//发送请求
ARMSQueryDataSetResponse armsQueryDataSetResponse = client.getAcsResponse(armsQueryDataSetRequest);
//获取并打印请求结果
System.out.println(armsQueryDataSetResponse.getData());
} catch (ClientException e) {
e.printStackTrace();
}
}
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。