doc : driver-go support WebSocket-based bulk pulling (#17435)
* doc : driver-go support WebSocket-based bulk pulling * doc : update English translation * docs: remove preparation section Co-authored-by: Shuduo Sang <sangshuduo@gmail.com>
This commit is contained in:
parent
de4f430928
commit
c77bc2b9b9
|
@ -7,7 +7,6 @@ title: TDengine Go Connector
|
||||||
import Tabs from '@theme/Tabs';
|
import Tabs from '@theme/Tabs';
|
||||||
import TabItem from '@theme/TabItem';
|
import TabItem from '@theme/TabItem';
|
||||||
|
|
||||||
import Preparition from "./_preparation.mdx"
|
|
||||||
import GoInsert from "../../07-develop/03-insert-data/_go_sql.mdx"
|
import GoInsert from "../../07-develop/03-insert-data/_go_sql.mdx"
|
||||||
import GoInfluxLine from "../../07-develop/03-insert-data/_go_line.mdx"
|
import GoInfluxLine from "../../07-develop/03-insert-data/_go_line.mdx"
|
||||||
import GoOpenTSDBTelnet from "../../07-develop/03-insert-data/_go_opts_telnet.mdx"
|
import GoOpenTSDBTelnet from "../../07-develop/03-insert-data/_go_opts_telnet.mdx"
|
||||||
|
@ -176,6 +175,37 @@ func main() {
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
</TabItem>
|
</TabItem>
|
||||||
|
<TabItem value="WebSocket" label="WebSocket connection">
|
||||||
|
|
||||||
|
_taosRestful_ implements Go's `database/sql/driver` interface via `http client`. You can use the [`database/sql`](https://golang.org/pkg/database/sql/) interface by simply introducing the driver (driver-go minimum version 3.0.2).
|
||||||
|
|
||||||
|
Use `taosWS` as `driverName` and use a correct [DSN](#DSN) as `dataSourceName` with the following parameters supported by the DSN.
|
||||||
|
|
||||||
|
* `writeTimeout` The timeout to send data via WebSocket.
|
||||||
|
* `readTimeout` The timeout to receive response data via WebSocket.
|
||||||
|
|
||||||
|
For example:
|
||||||
|
|
||||||
|
```go
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"database/sql"
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
_ "github.com/taosdata/driver-go/v3/taosWS"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
var taosUri = "root:taosdata@ws(localhost:6041)/"
|
||||||
|
taos, err := sql.Open("taosWS", taosUri)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("failed to connect TDengine, err:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
</TabItem>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
|
|
||||||
## Usage examples
|
## Usage examples
|
||||||
|
@ -331,7 +361,7 @@ Creates consumer group.
|
||||||
|
|
||||||
* `func (c *Consumer) Subscribe(topics []string) error`
|
* `func (c *Consumer) Subscribe(topics []string) error`
|
||||||
|
|
||||||
Subscribes to a topic.
|
Subscribes to topics.
|
||||||
|
|
||||||
* `func (c *Consumer) Poll(timeout time.Duration) (*Result, error)`
|
* `func (c *Consumer) Poll(timeout time.Duration) (*Result, error)`
|
||||||
|
|
||||||
|
@ -409,6 +439,30 @@ Close consumer.
|
||||||
|
|
||||||
Closes the parameter binding.
|
Closes the parameter binding.
|
||||||
|
|
||||||
|
### Subscribe via WebSocket
|
||||||
|
|
||||||
|
* `func NewConsumer(config *Config) (*Consumer, error)`
|
||||||
|
|
||||||
|
Creates consumer group.
|
||||||
|
|
||||||
|
* `func (c *Consumer) Subscribe(topic []string) error`
|
||||||
|
|
||||||
|
Subscribes to topics.
|
||||||
|
|
||||||
|
* `func (c *Consumer) Poll(timeout time.Duration) (*Result, error)`
|
||||||
|
|
||||||
|
Polling information.
|
||||||
|
|
||||||
|
* `func (c *Consumer) Commit(messageID uint64) error`
|
||||||
|
|
||||||
|
Commit information.
|
||||||
|
|
||||||
|
* `func (c *Consumer) Close() error`
|
||||||
|
|
||||||
|
Close consumer.
|
||||||
|
|
||||||
|
For a complete example see [GitHub sample file](https://github.com/taosdata/driver-go/blob/3.0/examples/tmqoverws/main.go)
|
||||||
|
|
||||||
## API Reference
|
## API Reference
|
||||||
|
|
||||||
Full API see [driver-go documentation](https://pkg.go.dev/github.com/taosdata/driver-go/v3)
|
Full API see [driver-go documentation](https://pkg.go.dev/github.com/taosdata/driver-go/v3)
|
||||||
|
|
|
@ -177,6 +177,37 @@ func main() {
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
</TabItem>
|
</TabItem>
|
||||||
|
<TabItem value="WebSocket" label="WebSocket 连接">
|
||||||
|
|
||||||
|
_taosWS_ 通过 `WebSocket` 实现了 Go 的 `database/sql/driver` 接口。只需要引入驱动(driver-go 最低版本 3.0.2)就可以使用[`database/sql`](https://golang.org/pkg/database/sql/)的接口。
|
||||||
|
|
||||||
|
使用 `taosWS` 作为 `driverName` 并且使用一个正确的 [DSN](#DSN) 作为 `dataSourceName`,DSN 支持的参数:
|
||||||
|
|
||||||
|
* `writeTimeout` 通过 WebSocket 发送数据的超时时间。
|
||||||
|
* `readTimeout` 通过 WebSocket 接收响应数据的超时时间。
|
||||||
|
|
||||||
|
示例:
|
||||||
|
|
||||||
|
```go
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"database/sql"
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
_ "github.com/taosdata/driver-go/v3/taosWS"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
var taosUri = "root:taosdata@ws(localhost:6041)/"
|
||||||
|
taos, err := sql.Open("taosWS", taosUri)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("failed to connect TDengine, err:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
</TabItem>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
|
|
||||||
## 使用示例
|
## 使用示例
|
||||||
|
@ -410,6 +441,30 @@ func main() {
|
||||||
|
|
||||||
结束参数绑定。
|
结束参数绑定。
|
||||||
|
|
||||||
|
### 通过 WebSocket 订阅
|
||||||
|
|
||||||
|
* `func NewConsumer(config *Config) (*Consumer, error)`
|
||||||
|
|
||||||
|
创建消费者。
|
||||||
|
|
||||||
|
* `func (c *Consumer) Subscribe(topic []string) error`
|
||||||
|
|
||||||
|
订阅主题。
|
||||||
|
|
||||||
|
* `func (c *Consumer) Poll(timeout time.Duration) (*Result, error)`
|
||||||
|
|
||||||
|
轮询消息。
|
||||||
|
|
||||||
|
* `func (c *Consumer) Commit(messageID uint64) error`
|
||||||
|
|
||||||
|
提交消息。
|
||||||
|
|
||||||
|
* `func (c *Consumer) Close() error`
|
||||||
|
|
||||||
|
关闭消费者。
|
||||||
|
|
||||||
|
完整订阅示例参见 [GitHub 示例文件](https://github.com/taosdata/driver-go/blob/3.0/examples/tmqoverws/main.go)
|
||||||
|
|
||||||
## API 参考
|
## API 参考
|
||||||
|
|
||||||
全部 API 见 [driver-go 文档](https://pkg.go.dev/github.com/taosdata/driver-go/v3)
|
全部 API 见 [driver-go 文档](https://pkg.go.dev/github.com/taosdata/driver-go/v3)
|
||||||
|
|
Loading…
Reference in New Issue