阅读498 返回首页    go 阿里云


ARMS Open API 说明__API 参考_业务实时监控服务 ARMS-阿里云

Open API 调用过程

Open API 底层通过 HTTP 接口提供服务,用户调用 Open API 的 SDK,发出 HTTP 请求到应用网关 POP,再由 POP 将请求转发给 ARMS 的后端服务去执行。用户将参数封装到每个请求中,每个请求即对应一个方法。执行的结果放在 response 中。

注意:因为 POP 网关是面对公网环境提供服务的,因此使用 Open API 的前提是,客户端需要能够访问公网服务。否则会提示服务无法连接。

Open API 调用说明

  1. 客户端依赖

    公测期间,ARMS Open API 的 SDK 获取方法有2种,一种是下载 SDK 源码,编译后加入到本地的 Maven 仓库中,另一种是下载打包好的 JAR 包,直接导入工程中。

    (1)下载 SDK 源码

    1. <dependencies>
    2. <dependency>
    3. <groupId>com.aliyun</groupId>
    4. <artifactId>aliyun-java-sdk-arms</artifactId>
    5. <version>2.0.0-SNAPSHOT</version>
    6. </dependency>
    7. <dependency>
    8. <groupId>com.aliyun</groupId>
    9. <artifactId>aliyun-java-sdk-core</artifactId>
    10. <version>2.2.0</version>
    11. </dependency>
    12. </dependencies>

    其中 aliyun-java-sdk-arms 的包目前还没有部署到软件仓库中,所以是从官网上下载 SDK 到本地,编译部署到本地的软件仓库中。SDK 的源码下载链接

    (2)下载 JAR 包其中 aliyun-java-sdk-arms 的 JAR 包是从官网上下载 SDK 到本地。SDK的Jar包下载链接。

  2. 创建 ACS 客户端说明

    1. String accessKeyID = "XXX";
    2. String accessKeySecret = "XXX";
    3. String region="XXX";
    4. String endPointName ="XXX";
    5. String productName = "XXX";
    6. String domain = "XXX";
    7. IClientProfile profile = DefaultProfile.getProfile(region, accessKeyID, accessKeySecret);
    8. DefaultProfile.addEndpoint(endPointName,region,productName,domain);
    9. ArmsQueryDataSetRequest armsQueryDataSetRequest = new ArmsQueryDataSetRequest();
    10. armsQueryDataSetRequest.setXXX(...);
    11. armsQueryDataSetRequest.setXXX(...);
    12. IAcsClient client = new DefaultAcsClient(profile);
    13. ArmsQueryDataSetResponse armsQueryDataSetResponse = client.getAcsResponse(armsQueryDataSetRequest);
    14. String responseJson = armsQueryDataSetResponse.getdata()

参数说明

pop 参数说明

  • region,指的是 API 的网关所在区域,目前支持的有 cn-beijing,cn-hangzhou,cn-qingdao,cn-shenzhen
  • accessKey,指的是用户在阿里云官网上获取的 AK
  • secretKey,指的是用户在阿里云官网上获得的 SK
  • endPointName,接入点名称,例如 cn-hangzhou
  • productName,Open API 的产品名称,直接写 ARMS 即可
  • domain,目前填写 arms.aliyuncs.com,后续会有扩充
区域名称 RegionId
公有云北京 cn-beijing
公有云青岛 cn-qingdao
公有云杭州 cn-hangzhou
公有云深圳 cn-shenzhen

业务参数说明

阿里云将用户所有的请求参数封装在一个 Request 中,返回一个 Response。目前对外开放的 API 有且就有一个:

  • 查询用户数据集
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个元素。如果为空,则返回所有指标数据

Dimensions 复合字段说明

字段名称 字段类型 设置方法 字段含义 备注
key String setKey 维度名称 如:区域
value String setValue 维度值 如:北京
  • 返回参数ArmsQueryDataSetResponse说明:

    1. 返回值为 JASON 串形式返回,可通过ArmsQueryDataSetResponse.getdata()获取

完整使用示例

  1. public class TestArmsQueryDataSet {
  2. public static void main(String[] args) throws ClientException, InterruptedException {
  3. //设置阿里云公共参数
  4. String accessKeyID = "XXX";
  5. String accessKeySecret = "XXX";
  6. String region = "XXX";
  7. IClientProfile profile = DefaultProfile.getProfile(region, accessKeyID, accessKeySecret);
  8. DefaultProfile.addEndpoint(endPointName,region,productName,domain);
  9. //设置业务参数
  10. ArmsQueryDataSetRequest armsQueryDataSetRequest = new ArmsQueryDataSetRequest();
  11. armsQueryDataSetRequest.setDatasetId(XXX);
  12. armsQueryDataSetRequest.setIntervalInSec(XXX);
  13. armsQueryDataSetRequest.setMinTime(XXX);
  14. armsQueryDataSetRequest.setMaxTime(XXX);
  15. Dimensions dimensions = new Dimensions();
  16. dimensions.setkey("XXX");
  17. dimensions.setvalue("XXX");
  18. List<Dimensions> dimensionss = new ArrayList<Dimensions>();
  19. dimensionss.add(dimensions);
  20. List<String> measuress = new ArrayList<String>();
  21. measuress.add("XXX");
  22. measuress.add("XXX");
  23. armsQueryDataSetRequest.setDimensionss(dimensionss);
  24. armsQueryDataSetRequest.setMeasuress(measuress);
  25. IAcsClient client = new DefaultAcsClient(profile);
  26. try {
  27. //发送请求
  28. ArmsQueryDataSetResponse armsQueryDataSetResponse = client.getAcsResponse(armsQueryDataSetRequest);
  29. //获取并打印请求结果
  30. System.out.println(armsQueryDataSetResponse.getdata());
  31. } catch (ClientException e) {
  32. e.printStackTrace();
  33. }
  34. }

}

最后更新:2016-11-25 11:39:29

  上一篇:go 联系人管理__管理系统配置_用户指南_业务实时监控服务 ARMS-阿里云
  下一篇:go 日志清洗最佳实践__最佳实践_业务实时监控服务 ARMS-阿里云