閱讀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-阿裏雲