Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Paste code macro
languagehttp
themeSunburst
GET https://{lake_id${CloudVendor}.${CountryCode}.machlake.com/v1/lakes/${lake_id}/values/pivoted
Content-Type: application/json; charset=utf8
x-api-key: {API Key}

Parameters

Optional

Type

Description

Example

type

string

select type

&type=pivot

tag_name

string

tag name with , separator

&tag_name=tag1,tag2,tag3

calc_mode

string

min,max,cnt,avg,sum

&calc_mode=min (default : avg)

date_format

string

date format of select time
or
timestamp type ("SECOND", "MILLISECOND", "MICROSECOND", "NANOSECOND")

&date_format=YYYY-MM-DD HH24:MI:SS
or
&date_format=MILLISECOND

(default : YYYY-MM-DD HH24:MI:SS)

start_time

string

start time of select (MUST be less than end_time!)

type 1 : time string format

  • start_time=2018-01-16 14:40:05 000
    or

  • start_time=2018-01-16 14:40:05.000

type 2 : timestamp (second or millisecond)

  • start_time=1618813188
    or

  • start_time=1618813188123

&start_time=2018-01-16 14:40:05 000
or
&start_time=2018-01-16 14:40:05.000
or
&start_time=1618813188
or
&start_time=1618813188123

  • datetime of parameter supports up to millisecond.

end_time

string

end time of select  (MUST be more than start_time!)

  • same as start_time

same as start_time

interval_type

string

sec,min,hour,day (or s,m,h,d)

&interval_type=hour (default : sec)

interval_value

int

duration value

&interval_value=10 (default : 1)

limit

int

count of display

&limit=1000 (default : Restricted by 'lake tier' by lake tier)

offset

int

count of skip

&offset=500

direction

int

ascend or descent by time

&direction=0
0 : ascend (default)
1 : descend

value_return_form

int

result set format

Optimized for various chart libraries and configured to return

0 : separate standard (default)

1 : merged standard

Request Example

Paste code macro
languagehttp
themeSunburst
GET https://lake01aws1.us.machlake.com/v1/lakes/xbacd1234/values/pivoted?type=pivot&tag_name=tag_01,tag_02tag01&calc_mode=avg&date_format=YYYY-MM-DD HH24:MI:SS&start_time=2021-06-16 11:35:00&end_time=2021-07-06 12:12:28&interval_type=min&limit=1000&value_return_form=0
Content-Type: application/json; charset=utf8
x-api-key: {API Key}

...

Paste code macro
languagejson
themeSunburst
Status 200

{
// return format = 0
{"success": true,
    "statusreason": "success",
    "data": {
        "calc_modecolumns": [
"AVG",         "columns": [  {
          {"name": "TIME", "type      "name": 5"TIME",
"length": 4096},             {"name": "tag_01", "type": 205,
  "length": 17},             {"namelength": "tag_02", "type": 20, "length": 17}4096
            ]},
         "samples": [  {
          {        "name": "tag01",
        "data": [       "type": 20,
            {    "length": 17
            }
      "TIME": "2021-06-16 11:36:00" ],
        "rows": [
            [
 "tag_01": 1515.4806,               "2023-01-03 10:12:00",
         "tag_02": 1524.3684      1625.333
            ],
 },           [
         {       "2023-01-03 10:12:05",
                "TIME": "2021-06-16 11:37:00",1622.5
            ]
        ]
    "tag_01": 1513.4624,
                        "tag_02": 1490.107
                    },
                    {
                        "TIME": "2021-06-17 15:42:00",
                        "tag_01": 1499.028979191633,
                        "tag_02": null
                    },
                    {
                        "TIME": "2021-06-17 15:43:00",
     }
}

Sample Code

Expand
titlewindow(batch)

github

Code Block
chcp 65001 
:: Text Encoding to UTF-8 in CMD
:: Example For Select Pivoted Data for tag API by using curl in window script
:: written by yeony kim

set API_KEY=YOUR_API_KEY
set LAKE_ID=YOUR_LAKE_ID
set CLOUD_VENDOR=YOUR_CLOUD_VENDOR
set CLOUD_REGION=YOUR_CLOUD_REGION

set CONTENT_HEADER="Content-Type: application/json"
set API_HEADER="x-api-key: %API_KEY%"
set URL="https://%CLOUD_VENDOR%.%CLOUD_REGION%.machlake.com/lakes/%LAKE_ID%/values/pivoted"

set SELECT_TYPE=pivot

:: ------------------------------------------------------------------------------------------------- ::

:: CASE - Pivoted DATA GET with date format YYYY-MM-DD HH24:MI:SS mmm:uuu:nnn
set TAG_NAME=sensor1,sensor2
set CALC_MODE=min
set DATE_FORMAT=YYYY-MM-DD HH24:MI:SS mmm:uuu:nnn
set START_TIME=2021-01-06 17:00:00 000:000:000
set END_TIME=2021-01-06 21:00:00 000:000:000

curl -k -G %URL% -H %CONTENT_HEADER% -H %API_HEADER% \
    --data-urlencode "type=%SELECT_TYPE%" \
    --data-urlencode "tag_name=%TAG_NAME%" \
    --data-urlencode "calc_mode=%CALC_MODE%" \
    --data-urlencode "start_time=%START_TIME%" \
    --data-urlencode "end_time=%END_TIME%" \
    --data-urlencode "date_format=%DATE_FORMAT%"

:: Return Format
:: {
::     "success": true,
::     "reason": "success",
::     "data":{
::         "columns":[
::          
"tag_01": 1470.2225841476657,
   {"name":"TIME","type":5,"length":4096},
::             {"name":"sensor1","type":20,"length":17},
::             
"tag_02": null
{"name":"sensor2","type":20,"length":17}
::         ],
::         "rows":[
:: 
},
            ["2021-01-06 17:00:00 000:000:000",1,1],
::      
{
       ["2021-01-06 17:00:01 000:000:000",null,1.5],
::             
"TIME": "2021
["2021-01-06
-
 17:00:02 
15
000:
44
000:
00
000",null,2],
::             ["2021-01-06 
"tag_01": 1487.0528,
17:00:03 000:000:000",null,1],
::             ["2021-01-06 
"tag_02": 1508.5176
17:00:04 000:000:000",null,1.5],
::             ["2021-01-06 
},
17:00:05 000:000:000",null,2],
::             ["2021-01-06 18:00:00 000:000:000",2,2],
::    
{
         ["2021-01-06 20:00:04 000:000:000",2,2],
::             
"TIME
["
: "
2021-
07
01-06 
12:12:00",
20:00:05 000:000:000",2.2.5],
::             
"tag_01": 1887.5,
["2021-01-06 20:00:06 000:000:000",2,2]
::         ]
::     }
:: }
Expand
titlelinux(shell)

github

Code Block
languagebash
# Text Encoding to UTF-8 
"tag_02": 1628 } ] } ] } } // return format = 1 { "status": "success", "data": { "calc_mode": "AVG", "columns": [ {"name": "TIME", "type": 5, "length": 4096}, {"name": "tag_01", "type": 20, "length": 17}, {"name": "tag_02", "type": 20, "length": 17} ],
in CMD
# Example For Select Pivoted Data for tag API by using curl in ubuntu

LAKE_ID=$YOUR_LAKE_ID
API_KEY=$YOUR_API_KEY
CLOUD_VENDOR=$YOUR_CLOUD_VENDOR
CLOUD_REGION=$YOUR_CLOUD_REGION

CONTENT_HEADER=Content-Type:application/json
API_HEADER=x-api-key:$API_KEY
URL=https://${CLOUD_VENDOR}.${CLOUD_REGION}.machlake.com/v1/lakes/${LAKE_ID}/values

# ------------------------------------------------------------------------------------------------- #

# CASE - Pivoted DATA GET with date format YYYY-MM-DD HH24:MI:SS mmm:uuu:nnn
SELECT_TYPE=pivot
TAG_NAME=sensor1,sensor2
CALC_MODE=min
DATE_FORMAT="YYYY-MM-DD HH24:MI:SS mmm:uuu:nnn"
START_TIME="2021-01-06 17:00:00 000:000:000"
END_TIME="2021-01-06 21:00:00 000:000:000"

curl -k -G $URL -H $CONTENT_HEADER -H $API_HEADER \
    --data-urlencode "type=$SELECT_TYPE" \
    --data-urlencode "tag_name=$TAG_NAME" \
    --data-urlencode "calc_mode=$CALC_MODE" \
    --data-urlencode "start_time=$START_TIME" \
    --data-urlencode "end_time=$END_TIME" \
    --data-urlencode "date_format=$DATE_FORMAT"

# Return Format
# {
#     "success": true,
#     "reason": "success",
#     "data":{
#         "
samples
columns":[
[
#             {"name":"TIME","type":5,"length":4096},
#             
{"
data": {
name":"sensor1","type":20,"length":17},
#             {"name":"sensor2","type":20,"length":17}
#       
"TIME":
 
[
 ],
#         "rows":[
#             ["2021-01-06
-16
 
11
17:
36
00:00
",
 000:000:000",1,1],
#             
["2021-
06-16 11:37:00",
01-06 17:00:01 000:000:000",null,1.5],
#             
["2021-01-06
-
 17
15
:
42:00",
00:02 000:000:000",null,2],
#             ["2021-01-06 17:00:03 000:000:000",null,1],
#             ["2021-01-06
-
 17:00:04 
15
000:
43
000:
00
000",null,1.5],
#             
"2021-06-17 15:44:00",
["2021-01-06 17:00:05 000:000:000",null,2],
#             
["2021-
07
01-06 
12
18:
12
00:00 000:000:000",2,2],
#             
["2021-01-06 20:00:04 000:000:000",2,2],
#             ["2021-01-06 20:00:05 000:000:000",2.2.5],
#    
"tag_01":
 
[
        ["2021-01-06 20:00:06 000:000:000",2,2]
#         ]
#     }
# }

# ------------------------------------------------------------------------------------------------- #
Expand
titlejavascript

github

Code Block
languagejs
// Example For Select Pivoted Data for tag API by using request in node js
// written by yeony kim
// sensor1, sensor2 is applied in lake

// process.env.NODE_TLS_REJECT_UNAUTHORIZED ="0";

const API_KEY ="YOUR_API_TOKEN";
const LAKE_ID ="YOUR_LAKE_ID"
const CLOUD_VENDOR="CLOUD_VENDOR";
const CLOUD_REGION="CLOUD_REGION";
const URL = `https://${CLOUD_VENDOR}.${CLOUD_REGION}.machlake.com/v1/lakes/${LAKE_ID}/values`;

var request = require('request');

const TAG_NAME = "sensor1,sensor2";
const SELECT_TYPE="pivot";


/* ------------------------------------------------------------------------------------------------- */

// CASE - Pivoted DATA GET with date format YYYY-MM-DD HH24:MI:SS mmm:uuu:nnn

request.get({
    url: URL, 
    qs: {
        type: SELECT_TYPE,
        tag_name: TAG_NAME,
        calc_mode: 'min',
        date_format: 'YYYY-MM-DD HH24:MI:SS mmm:uuu:nnn',
        start_time: '2021-01-06 17:00:00 000:000:000',
        end_time: '2021-01-06 21:00:00 000:000:000'
    },
    headers: {
        'x-api-key': API_KEY
    }}, 
    function(error, response, body) {
        console.log(body);
        // Return Format
        // {
        //     "success": true,
        //     "reason": "success",
        //     "data":{
        //         "columns":[
        //             {"name":"TIME","type":5,"length":4096},
        //             {"name":"sensor1","type":20,"length":17},
        //             {"name":"sensor2","type":20,"length":17}
        //         ],
        //         "rows":[
        //             ["2021-01-06 17:00:00 000:000:000",1,1],
        //             ["2021-01-06 17:00:01 000:000:000",null,1.5],
        //             ["2021-01-06 17:00:02 000:000:000",null,2],
        //             ["2021-01-06 17:00:03 000:000:000",null,1],
        //             ["2021-01-06 17:00:04 000:000:000",null,1.5],
        //             ["2021-01-06 17:00:05 000:000:000",null,2],
        //             ["2021-01-06 18:00:00 000:000:000",2,2],
        //             ["2021-01-06 20:00:04 000:000:000",2,2],
        //             ["2021-01-06 20:00:05 000:000:000",2.2.5],
        //             ["2021-01-06 20:00:06 000:000:000",2,2]
        //         ]
        //     }
        // }
    })
Expand
titlepython

github

Code Block
languagepy
"""
Example For Select Pivoted Data for tag API by using request in python
written by yeony kim
"""

import requests

API_KEY = "YOUR_API_TOKEN"
LAKE_ID = "YOUR_LAKE_ID"
CLOUD_VENDOR="CLOUD_VENDOR"
CLOUD_REGION="CLOUD_REGION"

URL = f"https://{CLOUD_VENDOR}.{CLOUD_REGION}.machlake.com/v1/lakes/{LAKE_ID}/values"

SELECT_TYPE="pivot"
TAG_NAME="sensor1,sensor2"

headers = {
    'Content-Type': 'application/json',
    'x-api-key': API_KEY
}

# ------------------------------------------------------------------------------------------------- #

# CASE - Pivoted DATA GET with date 
1515.4806,
format YYYY-MM-DD HH24:MI:SS mmm:uuu:nnn

params = {
    "type": SELECT_TYPE,
    "tag_name": TAG_NAME,
    
1513.4624
'calc_mode': 'min',
    'date_format': 'YYYY-MM-DD HH24:MI:SS mmm:uuu:nnn',
    'start_time': '2021-01-06 17:00:00 000:000:000',
    'end_time': '2021-01-06 
1499.028979191633,
21:00:00 000:000:000'
}

response = requests.get(URL, headers=headers,  params=params, verify=False)
print(response.content.decode('utf-8'))

# Return Format
# {
#     
1470.2225841476657
"success": true,
#     
"reason": "success",
#     "data":{
#      
1487.0528,
   "columns":[
#             {"name":"TIME","type":5,"length":4096},
#       
1887.5
      
{"name":"sensor1","type":20,"length":17},
#             
],
{"name":"sensor2","type":20,"length":17}
#         ],
#         
"
tag_02
rows":
[
#             ["2021-01-06 
1524.3684,
17:00:00 000:000:000",1,1],
#             ["2021-01-06 
1490.107,
17:00:01 000:000:000",null,1.5],
#             ["2021-01-06 
null,
17:00:02 000:000:000",null,2],
#             ["2021-01-06 17:00:03 000:000:000",null,1],
#      
null,
       ["2021-01-06 17:00:04 000:000:000",null,1.5],
#             
1508.5176,
["2021-01-06 17:00:05 000:000:000",null,2],
#             ["2021-01-06 18:00:00 000:000:000",2,2],
#      
1628
       ["2021-01-06 
20:00:04 000:000:000",2,2],
#         
]
    ["2021-01-06 20:00:05 000:000:000",2.2.5],
#          
}
   ["2021-01-06 20:00:06 000:000:000",2,2]
#       
}
  ]
#     }
]
# }
}