Versions Compared

Key

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

...

이 API를 호출하면 등록된 모든 tag에 대한 정보를 반환한다. Tag_name 변수에 특정 단어를 입력하고 API를 호출하면 해당 단어를 포함하는 tag의 리스트를 반환한다. tag 수가 많아서 여러 페이지로 출력하고자 할 때에는 limit과 offset을 이용하면 된다.

HTTP Request

Code Block
GET https://aws1.us.machlake.com/lakes/xbacd1234/tags
Content-Type: application/json; charset=utf8
x-api-key: {API Key}

Parameters

Optional

Type

Description

Example

name

string

name prefix of tag검색할 tag name 문자열 해당 문자열을 포함하는 tag 정보를 반환한다.

&name=new

limit

intcount of display

한꺼번에 표시할 갯수

0 = no limit.

(It depends on the limit limitation of lake tierLake 생성시 설정에 따라 0일 경우에도 제한이 발생할 수 있다.)

&limit=100

offset

intcount of skip

여러 페이지로 표시하기 위해 건너뛰어야 할 데이터의 수

&offset=50

Request Example

...

Response Example

Code Block
languagejson
Status 200
 
{
    "status": "success",
    "data": {
        "tag": [
            {"name": "newtag01"},
            {"name": "newtag02"}
        ]
    }
}

Sample Code

in sample code, select tag meta information that defined in create lake api

Expand
titlewindow(batch)

github

Code Block
chcp 65001 
:: Text Encoding to UTF-8 in CMD
:: Example For Get Tag List API by using curl in window script
:: written by yeony kim
:: sensor1, sensor2 is applied in lake

set API_KEY=YOUR_API_TOKEN

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

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

:: CASE - Select Tag

set TAG_NAME=sensor
set QUERY_LIMIT=
set QUERY_OFFSET=


curl -k -G %URL% -H %CONTENT_HEADER% -H %API_HEADER% --data-urlencode "name=%TAG_NAME%" --data-urlencode "limit=%QUERY_LIMIT%" --data-urlencode "offset=%QUERY_OFFSET%"

:: Return Format / Example For 
:: {"data":{"tag":[{"name":"sensor1"},{"name":"sensor2"}]},"status":"success"}

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

:: CASE - Select Tag with SQL Limit

set QUERY_LIMIT=1
set QUERY_OFFSET=

curl -k -G %URL% -H %CONTENT_HEADER% -H %API_HEADER% --data-urlencode "name=%TAG_NAME%" --data-urlencode "limit=%QUERY_LIMIT%" --data-urlencode "offset=%QUERY_OFFSET%"

:: Return Format
:: {"data":{"tag":[{"name":"sensor1"}]},"status":"success"}

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

:: CASE - Select Tag with SQL Limit and SQL Offset

set QUERY_LIMIT=1
set QUERY_OFFSET=1

curl -k -G %URL% -H %CONTENT_HEADER% -H %API_HEADER% --data-urlencode "name=%TAG_NAME%" --data-urlencode "limit=%QUERY_LIMIT%" --data-urlencode "offset=%QUERY_OFFSET%"

:: Return Format
:: {"data":{"tag":[{"name":"sensor2"}]},"status":"success"}

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

:: CASE - Select Tag about not exist

set TAG_NAME=OTHER_NAME
set QUERY_LIMIT=
set QUERY_OFFSET=

curl -k -G %URL% -H %CONTENT_HEADER% -H %API_HEADER% --data-urlencode "name=%TAG_NAME%" --data-urlencode "limit=%QUERY_LIMIT%" --data-urlencode "offset=%QUERY_OFFSET%"

:: Return Format
:: {"data":{"tag":[]},"status":"success"}
Expand
titleLinux(shell)

github

Code Block
# Text Encoding to UTF-8 in CMD
# Example For Get Tag List API by using curl in ubuntu
# written by yeony kim
# sensor1, sensor2 is applied in lake

API_KEY=YOUR_API_TOKEN

CONTENT_HEADER=Content-Type:application/json
API_HEADER=x-api-key:$API_KEY
LAKE_ID=YOUR_LAKE_ID
URL=https://$LAKE_ID.machlake.com/lakes/tags

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

# CASE - Select Tag

TAG_NAME=sensor
QUERY_LIMIT=
QUERY_OFFSET=


curl -k -G $URL -H $CONTENT_HEADER -H $API_HEADER --data-urlencode "name=$TAG_NAME" --data-urlencode "limit=$QUERY_LIMIT" --data-urlencode "offset=$QUERY_OFFSET"

# Return Format / Example For 
# {"data":{"tag":[{"name":"sensor1"},{"name":"sensor2"}]},"status":"success"}

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

# CASE - Select Tag with SQL Limit

QUERY_LIMIT=1
QUERY_OFFSET=

curl -k -G $URL -H $CONTENT_HEADER -H $API_HEADER --data-urlencode "name=$TAG_NAME" --data-urlencode "limit=$QUERY_LIMIT" --data-urlencode "offset=$QUERY_OFFSET"

# Return Format
# {"data":{"tag":[{"name":"sensor1"}]},"status":"success"}

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

# CASE - Select Tag with SQL Limit and SQL Offset

QUERY_LIMIT=1
QUERY_OFFSET=1

curl -k -G $URL -H $CONTENT_HEADER -H $API_HEADER --data-urlencode "name=$TAG_NAME" --data-urlencode "limit=$QUERY_LIMIT" --data-urlencode "offset=$QUERY_OFFSET"

# Return Format
# {"data":{"tag":[{"name":"sensor2"}]},"status":"success"}

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

# CASE - Select Tag about not exist

TAG_NAME=OTHER_NAME
QUERY_LIMIT=
QUERY_OFFSET=

curl -k -G $URL -H $CONTENT_HEADER -H $API_HEADER --data-urlencode "name=$TAG_NAME" --data-urlencode "limit=$QUERY_LIMIT" --data-urlencode "offset=$QUERY_OFFSET"

# Return Format
# {"data":{"tag":[]},"status":"success"}
Expand
titlejavascript

github

Code Block
// Example For Get Tag List API by using request in nodejs
// written by yeony kim
// sensor1, sensor2 is applied in lake

process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";

const express = require('express');
const app = express();
const API_KEY = "YOUR_API_KEY";
const LAKE_ID = "YOUR_LAKE_ID"
const URL = "https://" + LAKE_ID + ".machlake.com/lakes/tags";

// CASE - Select Tag

app.get(
    '/get_tag_list_with_name', function(req, res) {
        const QueryParams = new URLSearchParams()

        QueryParams.set("name", "sensor1")
        var request = require('request');
        var option = {
            url: URL + "?" + QueryParams.toString(),
            headers: {
                'Content-Type': 'application/json',
                'x-api-key': API_KEY
            }
        };
        request.get(option, function(error, response, body) {
            if (!error) {
                res.writeHead(200);
                res.end(body);
                console.log(body) // {"data":{"tag":[{"name":"sensor1"}]},"status":"success"}
            }
        })
    }
)

// CASE - Select Tag with SQL Limit

app.get(
    '/get_tag_list_with_name_limit', function(req, res) {
        const QueryParams = new URLSearchParams()

        QueryParams.set("name", "sensor")
        QueryParams.set("limit", 1)
        var request = require('request');
        var option = {
            url: URL + "?" + QueryParams.toString(),
            headers: {
                'Content-Type': 'application/json',
                'x-api-key': API_KEY
            }
        };
        request.get(option, function(error, response, body) {
            if (!error) {
                res.writeHead(200);
                res.end(body);
                console.log(body) // {"data":{"tag":[{"name":"sensor1"}]},"status":"success"}
            }
        })
    }
)

// CASE - Select Tag with SQL Limit and SQL Offset

app.get(
    '/get_tag_list_with_name_limit_offset', function(req, res) {
        const QueryParams = new URLSearchParams()

        QueryParams.set("name", "sensor")
        QueryParams.set("limit", 1)
        QueryParams.set("offset", 1)
        var request = require('request');
        var option = {
            url: URL + "?" + QueryParams.toString(),
            headers: {
                'Content-Type': 'application/json',
                'x-api-key': API_KEY
            }
        };
        request.get(option, function(error, response, body) {
            if (!error) {
                res.writeHead(200);
                res.end(body);
                console.log(body) // {"data":{"tag":[{"name":"sensor2"}]},"status":"success"}
            }
        })
    }
)

// CASE - Select Tag about not exist

app.get(
    '/get_tag_list_with_error_name', function(req, res) {
        const QueryParams = new URLSearchParams()

        QueryParams.set("name", "other_name")
        var request = require('request');
        var option = {
            url: URL + "?" + QueryParams.toString(),
            headers: {
                'Content-Type': 'application/json',
                'x-api-key': API_KEY
            }
        };
        request.get(option, function(error, response, body) {
            if (!error) {
                res.writeHead(200);
                res.end(body);
                console.log(body) // {"data":{"tag":[]},"status":"success"}
            }
        })
    }
)

app.listen(8888, function() {
    console.log('http://127.0.0.1:8888/get_tag_list_with_name is result for tag name that contain sensor in lake')
    console.log('http://127.0.0.1:8888/get_tag_list_with_name_limit is result for tag name that contain sensor in lake with limit 1')
    console.log('http://127.0.0.1:8888/get_tag_list_with_name_offset is result for tag name that contain sensor in lake with limit 1 offset 1')
    console.log('http://127.0.0.1:8888/get_tag_list_with_error_name is result for tag name that contain no in lake')
})
Expand
titlepython

github

Code Block
"""
Example For Get Tag List API by using requests in python
written by yeony kim
sensor1, sensor2 is applied in lake
"""

import requests

API_KEY = "YOUR_API_TOKEN"
LAKE_ID = "YOUR_LAKE_ID"
URL = f"https://{LAKE_ID}.machlake.com/lakes/tags"
headers = {
    'Content-Type': 'application/json',
    'x-api-key': API_KEY
}

# CASE - Select Tag

params = {
    'name': 'sensor1'
}

response = requests.get(URL, headers=headers,  params=params, verify=False)
print(response.content.decode('utf-8'))  # {"data":{"tag":[{"name":"sensor1"}]},"status":"success"}

# CASE - Select Tag with SQL Limit

params = {
    'name': 'sensor',
    'limit': 1
}

response = requests.get(URL, headers=headers,  params=params, verify=False)
print(response.content.decode('utf-8'))  # {"data":{"tag":[{"name":"sensor1"}]},"status":"success"}

# CASE - Select Tag with SQL Limit and SQL Offset

params = {
    'name': 'sensor',
    'limit': 1,
    'offset': 1
}

response = requests.get(URL, headers=headers,  params=params, verify=False)
print(response.content.decode('utf-8'))  # {"data":{"tag":[{"name":"sensor2"}]},"status":"success"}

# CASE - Select Tag about not exist

params = {
    'name': 'other_name',
}

response = requests.get(URL, headers=headers,  params=params, verify=False)
print(response.content.decode('utf-8'))  # {"data":{"tag":[]},"status":"success"}

...