note

This API creates a tag that represents a sensor. When creating, you can insert multiple items at the same time, and you have to insert data based on the schema you designed when creating the lake. If registration is successful, the tag id and tag information of the registered tag are returned in the form of a json array.

This API creates a tag that represents a sensor. When creating, you can insert multiple items at the same time, and you have to insert data based on the schema you designed when creating the lake. If registration is successful, the tag id and tag information of the registered tag are returned in the form of a json array.

HTTP Request

POST https://${CloudVendor}.${CountryCode}.machlake.com/v1/lakes/${lake_id}/tags
 
{
    "tag" : [["{tag_name}", {additional value 1}, "{additional value 2}"], [ second tag values ], ...]
}

Parameters

no parameters

Request Example

POST https://aws1.us.machlake.com/v1/lakes/xbacd1234/tags

{
    "tag" : [["newtag01"], ["newtag02"]]
}

Response Example

Status 200
 
{
    "success": true,
    "reason" : "create tag success",
    "data"   : {
        "success_count": 2,
        "tag": [
            {"name": "newtag01"},
            {"name": "newtag02"}
        ]
    }
}

Sample Code

In Sample Code, create tag that name sensor1, sensor2 and tag_schema is only name column thus tag field in json is list of [name_variable], if tag_schema is different then this field data should be change

github

chcp 65001 
:: Text Encoding to UTF-8 in CMD
:: Example For Create 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/v1/lakes/%LAKE_ID%/tags"

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

:: CASE - create TAG

:: data format
:: {
::     "tag":[
::         ["sensor1"], 
::         ["sensor2"]
::     ]
:: }

curl -k -X POST %URL% -H %CONTENT_HEADER% -H %API_HEADER% --data "{\"tag\": [[\"sensor1\"], [\"sensor2\"]]}"

:: Return Format
:: {
::     "success":true,
::     "reason":"create tag success",
::     "data":{
::         "success_count":2,
::         "tag":[
::             {"name":"sensor1"},
::             {"name":"sensor2"}
::         ]
::     }
:: }

:: ------------------------------------------------------------------------------------------------- #

:: CASE - Create Tag with addition columns
:: columns
:: name (varchar, 80), location (varchar, 40)

:: data format
:: {
::     "tag":[
::         ["sensor01", "3F-101"],
::         ["sensor02", "3F-102"]
::     ]
:: }

curl -k -X POST %URL% -H %CONTENT_HEADER% -H %API_HEADER% -d "{\"tag\":[[\"sensor01\",\"3F-101\"],[\"sensor02\",\"3F-102\"]]}"

:: Return Format
:: {
::     "success":true,
::     "reason":"create tag success",
::     "data":{
::         "success_count":2,
::         "tag":[
::             {
::                 "location":"3F-101",
::                 "name":"sensor01"
::             },
::             {
::                 "location":"3F-102",
::                 "name":"sensor02"
::             }
::         ]
::     }
:: }

:: ------------------------------------------------------------------------------------------------- #

:: CASE - Create exist Tag

:: data format
:: {
::     "tag":[["sensor1"]]
:: }

curl -k -X POST %URL% -H %CONTENT_HEADER% -H %API_HEADER% -d "{\"tag\":[[\"sensor1\"]]}"

:: Return Format
:: status code:400 Bad Request
:: {
::     "success":false,
::     "reason":"Metadata key (sensor1) of TAGDATA table is already inserted."
:: }

github

# Text Encoding to UTF-8 in CMD
# Example For Create 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}/tags

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

# CASE - Create Tag

# data format
# {
#     "tag":[
#         ["sensor1"], 
#         ["sensor2"]
#     ]
# }

curl -k -X POST $URL -H $CONTENT_HEADER -H $API_HEADER -d "{\"tag\":[[\"sensor1\"], [\"sensor2\"]]}"

# Return Format
# {
#     "success":true,
#     "reason":"create tag success",
#     "data":{
#         "success_count":2,
#         "tag":[
#             {"name":"sensor1"},
#             {"name":"sensor2"}
#         ]
#     }
# }

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

# CASE - Create Tag with addition columns
# columns
# name (varchar, 80), location (varchar, 40)

# data format
# {
#     "tag":[
#         ["sensor01", "3F-101"],
#         ["sensor02", "3F-102"]
#     ]
# }

curl -k -X POST $URL -H $CONTENT_HEADER -H $API_HEADER -d "{\"tag\":[[\"sensor01\",\"3F-101\"],[\"sensor02\",\"3F-102\"]]}"

# Return Format
# {
#     "success":true,
#     "reason":"create tag success",
#     "data":{
#         "success_count":2,
#         "tag":[
#             {
#                 "location":"3F-101",
#                 "name":"sensor01"
#             },
#             {
#                 "location":"3F-102",
#                 "name":"sensor02"
#             }
#         ]
#     }
# }

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

# CASE - Create exist Tag

# data format
# {
#     "tag":[["sensor1"]]
# }

curl -k -X POST $URL -H $CONTENT_HEADER -H $API_HEADER -d "{\"tag\":[[\"sensor1\"]]}"

# Return Format
# status code:400 Bad Request
# {
#     "success":false,
#     "reason":"Metadata key (sensor1) of TAGDATA table is already inserted."
# }

github

// Example For Create Tag API by using request in nodejs
// written by yeony kim

// 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}/tags`;


var request = require('request');


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

//  CASE - create TAG

var Data = {
    tag: [
        ["sensor1"], 
        ["sensor2"]
    ]
}

request.post({
    url: URL, 
    headers: {
        "Content-Type": "application/json",
        "x-api-key": API_KEY
    },
    body: JSON.stringify(Data)
    }, 
    function(error, response, body) {
        console.log(body);
        // Return Format
        // {
        //     "success":true,
        //     "reason":"create tag success",
        //     "data":{
        //         "success_count":2,
        //         "tag":[
        //             {"name":"sensor1"},
        //             {"name":"sensor2"}
        //         ]
        //     }
        // }
    })

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

//  CASE - create TAG with addition columns

var Data = {
    tag: [
        ["sensor01", "3F-101"],
        ["sensor02", "3F-102"]
    ]
}

request.post({
    url: URL, 
    headers: {
        "Content-Type": "application/json",
        "x-api-key": API_KEY
    },
    body: JSON.stringify(Data)
    }, 
    function(error, response, body) {
        console.log(body);
        // Return Format
        // {
        //     "success":true,
        //     "reason":"create tag success",
        //     "data":{
        //         "success_count":2,
        //         "tag":[
        //             {
        //                 "location":"3F-101",
        //                 "name":"sensor01"
        //             },
        //             {
        //                 "location":"3F-102",
        //                 "name":"sensor02"
        //             }
        //         ]
        //     }
        // }        
    })

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

//  CASE - Create exist Tag

var Data = {
    tag: [
        ["sensor1"]
    ]
}

request.post({
    url: URL, 
    headers: {
        "Content-Type": "application/json",
        "x-api-key": API_KEY
    },
    body: JSON.stringify(Data)
    }, 
    function(error, response, body) {
        console.log(body);
        // Return Format
        // status code:400 Bad Request
        // {
        //     "success":false,
        //     "reason":"Metadata key (sensor1) of TAGDATA table is already inserted."
        // }
    })

github

"""
Example For Create 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}/tags"

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


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

# CASE - Create Tag

params = {
    "tag": [
        ["sensor1"], 
        ["sensor2"]
    ]
}

response = requests.post(URL, headers=headers,  json=params, verify=False)
print(response.content.decode("utf-8")) 

# Return Format
# {
#     "success":true,
#     "reason":"create tag success",
#     "data":{
#         "success_count":2,
#         "tag":[
#             {"name":"sensor1"},
#             {"name":"sensor2"}
#         ]
#     }
# }

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

# CASE - Create Tag with addition columns
# columns
# name (varchar, 80), location (varchar, 40)

params = {
    "tag":[
        ["sensor01", "3F-101"],
        ["sensor02", "3F-102"]
    ]
}

response = requests.post(URL, headers=headers,  json=params, verify=False)
print(response.content.decode("utf-8")) 

# Return Format
# {
#     "success":true,
#     "reason":"create tag success",
#     "data":{
#         "success_count":2,
#         "tag":[
#             {
#                 "location":"3F-101",
#                 "name":"sensor01"
#             },
#             {
#                 "location":"3F-102",
#                 "name":"sensor02"
#             }
#         ]
#     }
# }

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

# CASE - Create exist Tag

params = {
    "tag": [
        ["sensor1"]
    ]
}

response = requests.post(URL, headers=headers,  json=params, verify=False)
print(response.content.decode("utf-8")) 

# Return Format
# status code:400 Bad Request
# {
#     "success":false,
#     "reason":"Metadata key (sensor1) of TAGDATA table is already inserted."
# }