表格存储面向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(数据源名称)格式定义如下,其中方括号之内为可选部分:
schema://access_key_id:access_key_secret@endpoint/instance_name[?param1=value1&...¶mN=valueN]
schema为访问表格存储服务的协议,通常为httpsaccess_key_id为表格存储服务的AccessKey IDaccess_key_secret为表格存储服务的AccessKey Secretendpoint为表格存储服务的域名地址instance_name为表格存储服务的实例名称
另外,DSN中支持传入以下配置项:
retryTimes为重试次数connectionTimeout为连接超时时间requestTimeout为请求超时时间maxRetryTime为最大触发重试时间maxIdleConnections为最大空闲连接数
- 我们非常欢迎大家为TableStore Go SQL Driver以及其他阿里云SDK贡献代码