存储写API中的AppendRows Golang陷入循环



我正在尝试使用存储写API向BQ发送一些数据。我用这个例子:https://cloud.google.com/bigquery/docs/write-api-batch

当我的代码是平坦的,它工作,但一旦我把它放入一个循环,它永远卡在第二个循环步骤和res, err := ms.AppendRows(ctx, pfProto):

results := []*managedwriter.AppendResult{}
for i := 0; i < len(skus); i = i + PFStocksLimit {
lim := i + PFStocksLimit
if lim > len(skus)-1 {
lim = len(skus) - 1
}
stocks := getStocks(skus[i:lim])
pfProto := prepProto(gd, stocks)
res, err := ms.AppendRows(ctx, pfProto)
if err != nil {
log.Fatalf("AppendRows call error: %v", err)
}
results = append(results, res)
}

有趣的是,当我删除results = append(results, res)它的工作。我这里不一生中什么是错的。

我刚刚意识到这是大数据插入的错误,问题报告在这里:https://github.com/googleapis/google-cloud-go/issues/6321

解决方案:一次插入更少的行

最新更新