推荐使用go mod来管理依赖,在go项目根目录下安装使用sdk所需的依赖文件,下载最新的sdk即可。
SDK源码地址:https://github.com/volcengine/volcengine-sdk-go-rec,支持go1.13及其以上版本。
go get github.com/volcengine/volcengine-sdk-go-rec@latest
构建client,示例:
package main import ( "github.com/volcengine/volcengine-sdk-go-rec/byteair" "github.com/volcengine/volcengine-sdk-go-rec/core" "github.com/volcengine/volcengine-sdk-go-rec/core/metrics" ) var client byteair.Client func init() { client, _ = (&byteair.ClientBuilder{}). // 必传,租户id. TenantId("xxx"). // 必传,应用id. ApplicationId("xxx"). // 必传,密钥AK. AK("xxx"). // 必传,密钥SK. SK("xxx"). // 必传,域名. Hosts([]string{"xxx"}). Build() // metrics上报初始化.建议开启,方便火山侧排查问题. metrics.Init( // 域名同上 metrics.WithMetricsDomain("xxx"), ) // 默认log级别为warn.根据需要自行更改. logs.Level = logs.LevelInfo /* 私有化部署初始化 client, _ = (&byteair.ClientBuilder{}). // 必传,租户id. TenantId("xxx"). // 必传,项目id. ApplicationId("xxx"). UseAirAuth(). // 由火山侧给出 Token("xxx"). Hosts([]string{"私有化实际部署地址"}). Schema("http"). Build() */ }
初始化完成后,可以使用client进行数据同步和推荐服务的调用。client不需要重复创建,最好设置为全局变量,以免产生不必要的资源泄漏。
client封装了以下4个函数,分别用于请求数据服务的同步接口(write)和同步完成通知接口(done),推荐服务的推荐接口(predict)和下发回传接口(callback)。
WriteData(dataList []map[string]interface{}, topic string, opts ...option.Option) (*WriteResponse, error) Done(dateList []time.Time, topic string, opts ...option.Option) (*DoneResponse, error) Predict(request *PredictRequest, opts …option.Option) (*PredictResponse, error) Callback(request *CallbackRequest, opts …option.Option) (*CallbackResponse, error)