You are viewing an old version of this content. View the current version.
Compare with Current
View Version History
« Previous
Version 16
Next »
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
Parameters
no parameters
Request Example
Response Example
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
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\"], [\"sensor2\"]]}"
# Return Format
# status code:400 Bad Request
# {
# "success":false,
# "reason":"Metadata key (sensor1) of TAGDATA table is already inserted."
# }
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"}