You need to enable JavaScript to run this app.
导航

同步完成通知接口(done)

最近更新时间2023.05.19 11:24:15

首次发布时间2022.04.13 17:53:20

配合同步接口(write)使用。
数据预同步、历史数据同步、增量天级数据同步都是以为单位导入数据,导入完成后必须调用done接口(done接口传输的数据日期与write接口上传数据的日期保持一致写入传输完成标识),服务端接收到该标识才会开启数据入库+归档。

调用方法

Done(dateList []time.Time, topic string, opts ...option.Option) (*DoneResponse, error)

方法参数

参数

类型

说明

dateList

[]time.Time

该字段表示此次调用done方法需要同步的日期列表,即允许一次同步多天

topic

String

同步完成的场景,和数据上传场景保持一致

opts

Option[]

请求中可选参数,具体使用方式见用例示范

方法返回

使用自定义的DoneResponse类作为响应类型,具体参数如下表所示。在获取到DoneResponse类型的返回值后可调用它的GetStatus()方法判断此次数据上传是否成功。

参数

类型

说明

获取方法

code

int

状态码

GetCode

message

String

请求结果信息

GetMessage

示例

import (
   "github.com/google/uuid"
   "github.com/volcengine/volcengine-sdk-go-rec/byteair"
   "github.com/volcengine/volcengine-sdk-go-rec/core/logs"
   "github.com/volcengine/volcengine-sdk-go-rec/core/option"
   "time"
)


// 已经初始化好的client.示例省略init()
var client byteair.Client


func Done() {
   date, _ := time.Parse("2006-01-02", "2022-01-01")
   // 已经上传完成的数据日期,可在一次请求中传多个
   dateList := []time.Time{date}
   // 与离线天级数据传输的topic保持一致
   topic := "item"
   opts := []option.Option{
      // 测试数据/预同步阶段("pre_sync"),历史数据同步("history_sync")和增量天级数据上传("incremental_sync_daily")
      option.WithStage("pre_sync"),
      option.WithRequestId(uuid.NewString()),
   }
   rsp, err := client.Done(dateList, topic, opts...)
   if err != nil {
      logs.Error("[done] occur error, msg: %s", err.Error())
      return
   }
   if !rsp.GetStatus().GetSuccess() {
      logs.Error("[done] find failure info")
      return
   }
   logs.Info("[done] success")
   return
}