Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 3 Next »

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

HTTP Request

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

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

&name=new

limit

int

한꺼번에 표시할 갯수

0 = no limit.

(Lake 생성시 설정에 따라 0일 경우에도 제한이 발생할 수 있다.)

&limit=100

offset

int

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

&offset=50

Request Example

GET https://aws1.us.machlake.com/lakes/xbacd1234/tags?name=new&limit=100
Content-Type: application/json; charset=utf8
x-api-key: {API Key}

Response Example

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

Sample Code

이 예제 코드에서는, Create lake api에서 지정한 메타 정보를 검색한다.

 window(batch)

github

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"}
 Linux(shell)

github

# 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"}
 javascript

github

// 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')
})
 python

github

"""
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"}

 

  • No labels