func createTable(client *bigquery.Client, datasetID, tableID string) error { ctx := context.Background() // [START bigquery_create_table] schema, err := bigquery.InferSchema(Item{}) if err != nil { return err } table := client.Dataset(datasetID).Table(tableID) if err := table.Create(ctx, schema); err != nil { return err } // [END bigquery_create_table] return nil }
func ExampleTable_Create_schema() { ctx := context.Background() // Infer table schema from a Go type. schema, err := bigquery.InferSchema(Item{}) if err != nil { // TODO: Handle error. } client, err := bigquery.NewClient(ctx, "project-id") if err != nil { // TODO: Handle error. } t := client.Dataset("my_dataset").Table("new-table") if err := t.Create(ctx, schema); err != nil { // TODO: Handle error. } }
func ExampleInferSchema() { type Item struct { Name string Size float64 Count int } schema, err := bigquery.InferSchema(Item{}) if err != nil { fmt.Println(err) // TODO: Handle error. } for _, fs := range schema { fmt.Println(fs.Name, fs.Type) } // Output: // Name STRING // Size FLOAT // Count INTEGER }
func ExampleInferSchema_tags() { type Item struct { Name string Size float64 Count int `bigquery:"number"` Secret []byte `bigquery:"-"` } schema, err := bigquery.InferSchema(Item{}) if err != nil { fmt.Println(err) // TODO: Handle error. } for _, fs := range schema { fmt.Println(fs.Name, fs.Type) } // Output: // Name STRING // Size FLOAT // number INTEGER }