Я делаю RESTful API в Go, который записывает строки в BigQuery. Я использую Google BigQuery package for Go.Как создать таблицу в BigQuery с необязательными полями?
Чтобы создать схему BigQuery, я выводя схему из структуры, как описано в example.
Проблема заключается в том, что результирующая схема имеет все неперечисленные поля как «Обязательные», поэтому, когда я хочу загрузить структуру с нулевыми значениями, нулевые значения загружаются как поля empy ...
Это пример моей структуры:
type Stats struct {
Name string `bigquery:"name"`
LastName int `bigquery:"last_name"`
PhoneNumber string `bigquery:"phone_number"`
}
Это пример того, как создается схема:
testSchema, err := bigquery.InferSchema(Stats{})
if err != nil {
// TODO: Handle error.
}
И, если я загрузить на структуру только с одним полем себе т:
rows := []*Stats{
{Name: "testA"},
}
u := table.Uploader()
err2 := u.Put(ctx, rows)
Результатом является то, что в BigQuery, поля «last_name» и «phone_number» пустая строка «» вместо NULL