您可以使用Java SDK和Go SDK查詢某一時間軸在指定時間範圍內的資料。此處以Java SDK為例介紹時序資料查詢功能的使用。
以下樣本用於查詢test_timeseries_table時序表中滿足指定條件的時序資料。
private static void getTimeseriesData(TimeseriesClient client) {
String tableName = "test_timeseries_table";
GetTimeseriesDataRequest getTimeseriesDataRequest = new GetTimeseriesDataRequest(tableName);
Map<String, String> tags = new HashMap<String, String>();
tags.put("region", "hangzhou");
tags.put("os", "Ubuntu16.04");
// 通過measurementName、dataSource和tags構建TimeseriesKey。
TimeseriesKey timeseriesKey = new TimeseriesKey("cpu", "host_0", tags);
getTimeseriesDataRequest.setTimeseriesKey(timeseriesKey);
// 指定時間範圍。
getTimeseriesDataRequest.setTimeRange(0, (System.currentTimeMillis() + 60 * 1000) * 1000);
// 限制返回行數。
getTimeseriesDataRequest.setLimit(10);
// 設定是否倒序讀取資料,可不設定,預設值為false。如果設定為true,則倒序讀取資料。
getTimeseriesDataRequest.setBackward(false);
// 設定擷取部分資料列,可不設定,預設擷取全部資料列。
getTimeseriesDataRequest.addFieldToGet("string_1", ColumnType.STRING);
getTimeseriesDataRequest.addFieldToGet("long_1", ColumnType.INTEGER);
GetTimeseriesDataResponse getTimeseriesDataResponse = client.getTimeseriesData(getTimeseriesDataRequest);
System.out.println(getTimeseriesDataResponse.getRows().size());
if (getTimeseriesDataResponse.getNextToken() != null) {
// 如果nextToken不為空白,可以發起下一次請求。
getTimeseriesDataRequest.setNextToken(getTimeseriesDataResponse.getNextToken());
getTimeseriesDataResponse = client.getTimeseriesData(getTimeseriesDataRequest);
System.out.println(getTimeseriesDataResponse.getRows().size());
}
}