登录
首页 >  Golang >  Go问答

Bigquery错误:缺少位置和消息信息

来源:stackoverflow

时间:2024-02-13 21:36:21 371浏览 收藏

对于一个Golang开发者来说,牢固扎实的基础是十分重要的,golang学习网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《Bigquery错误:缺少位置和消息信息》,主要介绍了,希望对大家的知识积累有所帮助,快点收藏起来吧,否则需要时就找不到了!

问题内容

我正在使用 golang bigquery 客户端将数据插入 bigquery。

下面是我的代码的一部分。

ctx := context.background()
client, err := bigquery.newclient(ctx, "project_id", option.withcredentialsfile("google-credentials.json"))
if err != nil {
     panic(err.error())
}

inserter = client.dataset("data-set").table("table_name").inserter()

if err := inserter.put(ctx, body); err != nil {
        if pmerr, ok := err.(bigquery.putmultierror); ok {
            for _, rowinsertionerror := range pmerr {
                log.println(rowinsertionerror.errors)
            }
        }
        return nil, err
    }

我收到错误,但没有位置和消息。

2022/03/25 10:03:13 {Location: ""; Message: ""; Reason: "invalid"}
    2022/03/25 10:03:13 {Location: ""; Message: ""; Reason: "invalid"}
    2022/03/25 10:03:13 {Location: ""; Message: ""; Reason: "invalid"}
    2022/03/25 10:03:13 {Location: ""; Message: ""; Reason: "invalid"}

我相信我做错了什么。 但似乎无法从这些错误消息中找到要查看的位置。

没有位置和消息的bigquery错误的原因是什么。

提前谢谢您。


正确答案


如果 body 是一个 struct,它具有 "bigquery" 标记,但没有 "json" 标记,则您可能会遇到问题,因为库将尝试使用 json 正文发出请求,并且需要这些标记为了正确构建请求正文。 简而言之,

确实有效:

type tablerecord struct {
    name    string `bigquery:"name" json:"name"`
}

不起作用

type TableRecord struct {
    name    string `bigquery:"name"
}

正如您在这种情况下所描述的那样,我遇到过收到“没有位置和消息的错误”的情况。

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《Bigquery错误:缺少位置和消息信息》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>