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
}



