Versions Compared

Key

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

...

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

Sample Code

이 예제 코드에서는, 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"}

...