Calculated Value Select
Machlake는 입력된 센서 tag데이터들을 자동으로 tag별, 시간별로 통계 데이터를 생성한다. 이렇게 생성한 통계데이터는 이 API를 통해서 검색할 수 있다. 이 API를 이용하면 대량의 센서 데이터를 연, 월, 일간 단위로 통계값을 얻어서 빠르게 차트를 생성하는 등의 연산이 가능하다.
자동으로 생성되는 통계데이터는 각 tag별 Min, Max, Sum, Count, Average이다.
HTTP Request
GET https://${CloudVendor}.${CountryCode}.machlake.com/lakes/${lake_id}/values/calculated
Content-Type: application/json; charset=utf8
x-api-key: {API Key}
Parameters
Optional | Type | Description | Example |
---|---|---|---|
direction | int | 오름차순 혹은 내림차순 설정 | &direction=0 |
limit | int | 출력할 데이터의 수 | &limit=1000 (default : Limited according to Lake tier) |
offset | int | 검색후 건너뛸 데이터의 수 | &offset=500 |
date_format | string | Time값의 포멧 지정 DATE_FORMAT 혹은 timestamp 단위("SECOND", "MILLISECOND", "MICROSECOND", "NANOSECOND") | &date_format=YYYY-MM-DD HH24:MI:SS (default : YYYY-MM-DD HH24:MI:SS) |
interval_value | int | interval_type에서 지정된 단위의 배수. interval_type이 min이고 interval_value가 3이면 3분마다 결과를 출력 | &interval_value=10 (default : 1) |
end_time | string | 검색 종료 시간 (start_time보다 커야 함) same as start_time | same as start_time |
calc_mode | string | min,max,cnt,avg,sum | &calc_mode=min (default : avg) |
value_return_form | int | 결과 출력 방법
| 0 : separate standard (default) 1 : merged standard |
interval_type | string | sec,min,hour,day (or s,m,h,d) | &interval_type=hour (default : sec) |
separator | string | 매개변수의 tag_name, columns, and_condition들을 구분하는 구분자 | &separator=| (default : ,) |
start_time | string | 검색 시작 시간 (종료시간보다 적은 값이어야 함) 아래의 두가지 중 하나의 방법으로 설정 type 1 : 시간 문자열 start_time=2018-01-16 14:40:05 000 start_time=2018-01-16 14:40:05.000 type 2 : 밀리초 혹은 마이크로초 기반 타임스탬프 start_time=1618813188 start_time=1618813188123 | &start_time=2018-01-16 14:40:05 000
|
tag_name | string | Tag의 이름. 여러개를 명시하려면 ',' 문자를 이용하여 나열할 수 있다. | &tag_name=tag1,tag2,tag3 |
Request Example
GET https://aws1.us.machlake.com/lakes/xbacd1234/values/calculated?tag_name=tag_01,tag_02&value_return_form=0&start_time=2021-06-16 11:35:00&end_time=2021-07-06 12:12:28&calc_mode=avg&interval_type=min&limit=1000
Content-Type: application/json; charset=utf8
x-api-key: {API Key}
Response Example
Status 200
// return format = 0
{
"status": "success",
"data": {
"calc_mode": "AVG",
"columns": [
{"name": "TIME", "type": 5, "length": 4096},
{"name": "VALUE", "type": 20, "length": 17}
],
"samples": [
{
"tag_name": "tag_02",
"data": [
{"TIME": "2021-06-16 11:36:00", "VALUE": 1524.3684},
{"TIME": "2021-06-16 11:37:00", "VALUE": 1490.107},
{"TIME": "2021-06-17 15:44:00", "VALUE": 1508.5176},
{"TIME": "2021-07-06 12:12:00", "VALUE": 1628}
]
},
{
"tag_name": "tag_01",
"data": [
{"TIME": "2021-06-16 11:36:00", "VALUE": 1515.4806},
{"TIME": "2021-06-16 11:37:00", "VALUE": 1513.4624},
{"TIME": "2021-06-17 15:42:00", "VALUE": 1499.0289},
{"TIME": "2021-06-17 15:43:00", "VALUE": 1470.2225},
{"TIME": "2021-06-17 15:44:00", "VALUE": 1487.0528},
{"TIME": "2021-07-06 12:12:00", "VALUE": 1887.5}
]
}
]
}
}
// return format = 1
{
"status": "success",
"data": {
"calc_mode": "AVG",
"columns": [
{"name": "TIME", "type": 5, "length": 4096},
{"name": "VALUE", "type": 20, "length": 17}
],
"samples": [
{
"tag_name": "tag_02",
"data": {
"TIME": [
"2021-06-16 11:36:00",
"2021-06-16 11:37:00",
"2021-06-17 15:44:00",
"2021-07-06 12:12:00"
],
"VALUE": [
1524.3684,
1490.107,
1508.5176,
1628
]
}
},
{
"tag_name": "tag_01",
"data": {
"TIME": [
"2021-06-16 11:36:00",
"2021-06-16 11:37:00",
"2021-06-17 15:42:00",
"2021-06-17 15:43:00",
"2021-06-17 15:44:00",
"2021-07-06 12:12:00"
],
"VALUE": [
1515.4806,
1513.4624,
1499.0289,
1470.2225,
1487.0528,
1887.5
]
}
}
]
}
}