栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

使用restful接口读取TDengine数据

使用restful接口读取TDengine数据

使用http请求查询tdengine数据 注意

HTTP 请求 URL 采用 sqlt 时,返回结果集的时间戳将采用 Unix 时间戳格式表示.
url := “http://127.0.0.1:6041/rest/sqlt/test”

{
    "status": "succ",
    "head": ["ts","current","voltage","phase"],
    "column_meta": [["ts",9,8],["current",6,4],["voltage",4,4],["phase",6,4]],
    "data": [
        [1538548685000,10.3,219,0.31],
        [1538548695000,12.6,218,0.33]
    ],
    "rows": 2
}

package main

import (
	"bytes"
	"crypto/tls"
	"encoding/json"
	"fmt"
	"io/ioutil"
	"net/http"
	"time"
)

type TDEngine struct {
	Head []string      `json:"head"`
	Data []interface{} `json:"data"`
}

func main() {
	url := "http://127.0.0.1:6041/rest/sql/test"

	httpCli := &http.Client{
		Timeout: time.Duration(120) * time.Second,
		Transport: &http.Transport{
			TLSClientConfig: &tls.Config{
				InsecureSkipVerify: true,
			},
		},
	}

	buf := bytes.NewBuffer([]byte(`select field1,field2 from cyl limit 1`))
	req, err := http.NewRequest("POST", url, buf)
	if err != nil {
		fmt.Printf("req err:%vn", err)
		return
	}

	req.SetBasicAuth("root", "taosdata")

	fmt.Printf("req :%+vn", req)
	resp, err := httpCli.Do(req)
	if err != nil {
		fmt.Printf("resp err:%vn", err)
		return
	}
	defer resp.Body.Close() //nolint:errcheck

	body, err := ioutil.ReadAll(resp.Body)
	if err != nil {
		fmt.Printf("body err:%vn", err)
		return
	}
	tdEnginedata:= &TDEngine{}
	err = json.Unmarshal(body, tdEngineData)
	if err != nil {
		fmt.Printf("Unmarshal err:%vn", err)
		return
	}
	fmt.Printf("resp head:%vn", tdEngineData.Head)
	fmt.Printf("resp data:%vn", tdEngineData.Data)
	return
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/747582.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号