Skip to content

aliyun/aliyun-tablestore-go-sql-driver

Repository files navigation

Aliyun Tablestore Go SQL Driver

表格存储面向Go语言database/sql包的驱动。

安装

通过go get命令安装:

go get github.com/aliyun/aliyun-tablestore-go-sql-driver

使用

表格存储的Go语言驱动是database/sql/driver接口的实现,导入包之后即可使用database/sql访问表格存储.

使用 ots 作为驱动名称,使用有效的DSN作为dataSourceName:

import (
    "database/sql"
    "fmt"
    _ "github.com/aliyun/aliyun-tablestore-go-sql-driver"
)

// ...

db, err := sql.Open("ots", "https://access_key_id:access_key_secret@endpoint/instance_name")
if err != nil {
    panic(err)
}

rows, err := db.Query("SELECT trip_id, duration, bike_number, is_member FROM trips WHERE trip_id = ?", 1688)
if err != nil {
    panic(err)
}

for rows.Next() {
    var (
        tripId     int64
        duration   float64
        bikeNumber string
        isMember   bool
    )
    err = rows.Scan(&tripId, &duration, &bikeNumber, &isMember)
    if err != nil {
        panic(err)
    }
    fmt.Printf("trip_id: %v, duration: %v, bike_number = %v, is_member = %v\n", tripId, duration, bikeNumber, isMember)
}

DSN(数据源名称)

表格存储的DSN(数据源名称)格式定义如下,其中方括号之内为可选部分:

schema://access_key_id:access_key_secret@endpoint/instance_name[?param1=value1&...&paramN=valueN]
  • schema为访问表格存储服务的协议,通常为https
  • access_key_id为表格存储服务的AccessKey ID
  • access_key_secret为表格存储服务的AccessKey Secret
  • endpoint为表格存储服务的域名地址
  • instance_name为表格存储服务的实例名称

另外,DSN中支持传入以下配置项:

  • retryTimes为重试次数
  • connectionTimeout为连接超时时间
  • requestTimeout为请求超时时间
  • maxRetryTime为最大触发重试时间
  • maxIdleConnections为最大空闲连接数

贡献代码

  • 我们非常欢迎大家为TableStore Go SQL Driver以及其他阿里云SDK贡献代码

联系我们

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages