You are viewing an old version of this content. View the current version.
Compare with Current
View Version History
Version 1
Next »
[ HTTP Request ] [ Parameters ] [ Request Example ] [ Response Example ] [ Sample Code ]
Machlake에서 하나의 센서를 표시하기 위해 사용되는 tag를 생성한다. Tag를 생성할 때 이미 디자인한 스키마와 같은 형태로 데이터를 입력해야 한다. 여러개의 tag를 한꺼번에 등록할 수 있다. Tag 생성 API를 수행하여 결과가 성공이면 입력한 데이터에 따라 Tag의 id와 정보들이 입력되고 입력 결과를 json arry형태로 반환한다.
HTTP Request
Copy Copy to clipboard
POST https://${CloudVendor}.${CountryCode}.machlake.com/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/lakes/xbacd1234/tags
{
"tag" : [["newtag01"], ["newtag02"]]
}
Response Example
POST https://aws1.us.machlake.com/lakes/xbacd1234/tags
{
"tag" : [["newtag01"], ["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
Window(Batch)
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_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 - create TAG
curl -k -X POST %URL% -H %CONTENT_HEADER% -H %API_HEADER% --data "{\"tag\": [[\"sensor1\"], [\"sensor2\"]]}"
:: Return Format
:: {"data":{"success_count":2,"tag":[{"name":"sensor1"},{"name":"sensor2"}]},"status":"success"}
:: ------------------------------------------------------------------------------------------------- ::
:: CASE - tag duplicate error
curl -k -X POST %URL% -H %CONTENT_HEADER% -H %API_HEADER% --data "{\"tag\": [[\"sensor1\"], [\"sensor2\"]]}"
:: Return Format / Example For Exist same tag name in lake
:: {"message":"Metadata key (sensor2) of TAGDATA table is already inserted.","status":"error"}
:: ------------------------------------------------------------------------------------------------- ::
Linux(Shell)
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
TAG_NAME=$YOUR_TAG_NAME
CONTENT_HEADER=Content-Type:application/json
API_HEADER=x-api-key:$API_KEY
URL=https://${CLOUD_VENDOR}.${CLOUD_REGION}.machlake.com/lakes/${LAKE_ID}/tags
# ------------------------------------------------------------------------------------------------- #
# CASE - create TAG
curl -k -X POST $URL -H $CONTENT_HEADER -H $API_HEADER --data "{\"tag\": [[\"sensor1\"], [\"sensor2\"]]}"
# Return Format
# {"data":{"success_count":2,"tag":[{"name":"sensor1"},{"name":"sensor2"}]},"status":"success"}
# ------------------------------------------------------------------------------------------------- #
# CASE - tag duplicate error
curl -k -X POST $URL -H $CONTENT_HEADER -H $API_HEADER --data "{\"tag\": [[\"sensor1\"], [\"sensor2\"]]}"
# Return Format / Example For Exist same tag name in lake
# {"message":"Metadata key (sensor2) of TAGDATA table is already inserted.","status":"error"}
# ------------------------------------------------------------------------------------------------- #
javascript
github
// Example For Create Tag API by using request in nodejs
// written by yeony kim
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
const express = require('express');
const app = express();
const API_KEY = "YOUR_API_TOKEN";
const LAKE_ID = "YOUR_LAKE_ID"
const URL = "https://" + LAKE_ID + ".machlake.com/lakes/tags";
// CASE - create TAG / tag duplicate error
app.get(
'/create_tag_sensor1_2', function(req, res) {
const Data = {
tag: [['sensor1'], ['t_sensor1'], ['t_sensor2']],
}
var request = require('request');
var option = {
url: URL,
headers: {
'Content-Type': 'application/json',
'x-api-key': API_KEY
},
body: JSON.stringify(Data)
};
request.post( option, function(error, response, body) {
if (!error) {
res.writeHead(200);
res.end(body);
console.log(body) // {"data":{"success_count":2,"tag":[{"name":"sensor1"},{"name":"sensor2"}]},"status":"success"} or {"message":"Metadata key (sensor2) of TAGDATA table is already inserted.","status":"error"}
} else {
console.log(error)
}
})
}
)
app.listen(8888, function() {
console.log('http://127.0.0.1:8888/create_tag_sensor1_2 is result for create sensor1 and sensor2 tag')
})
python
github
"""
Example For Create Tag API by using request 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"
# CASE - create TAG / tag duplicate error
headers = {
'Content-Type': 'application/json',
'x-api-key': API_KEY
}
params = {
'tag': [['sensor1'], ['sensor2']],
}
response = requests.post(URL, headers=headers, json=params, verify=False)
print(response.content.decode('utf-8')) # {"data":{"success_count":2,"tag":[{"name":"sensor1"},{"name":"sensor2"}]},"status":"success"}