【发布时间】:2017-01-29 13:42:21
【问题描述】:
当我尝试在 bigquery 中插入时,我收到此错误“X 行插入失败”,其中 X 是行数。
我在 Golang 中使用这个库“cloud.google.com/go/bigquery”
我在这里附上代码:
u := table.Uploader()
var inserts []*bigquery.StructSaver
for _, insert := range value {
aux := bigquery.StructSaver{Struct: insert, Schema: schema}
inserts = append(inserts, &aux)
}
err := u.Put(ctx, inserts)
if err != nil {
fmt.Printf("%v\n", err)
}
并非每次尝试都会发生这种情况,我不知道什么会产生这种情况。 有人遇到同样的错误吗?
【问题讨论】:
-
文档指出“如果一个或多个行上传失败,Put 返回一个 PutMultiError。PutMultiError 包含每个失败行的 RowInsertionError。”因此,要获取更多错误信息,您可以将错误类型转换为 PutMultiError(例如:
multiError := err.(PutMultiError)),对其进行迭代,然后对 MultiErrors 进行迭代,并打印每个错误。有关详细信息,请参阅文档:godoc.org/cloud.google.com/go/bigquery#PutMultiError -
谢谢@1lann!但是我看到的信息只是说“无效”。有什么想法可以得到更详细的原因吗?
-
@OğuzYıldız 我遇到了同样的无效错误,你有没有解决它。
标签: go google-bigquery