func handlerContainer2(w http.ResponseWriter, r *http.Request) { ctx := appengine.NewContext(r) client := &http.Client{ Transport: &oauth2.Transport{ Source: google.AppEngineTokenSource(ctx, bigquery.BigqueryScope), Base: &urlfetch.Transport{Context: ctx}, }, } bq, err := bigquery.New(client) if err != nil { fmt.Errorf("%v", err) } key := datastore.Key{} c := Container2{ Hoge: Hoge{Name: "hoge", Age: 28}, Key: &key, } schema, err := ironmole.BuildTableSchema(&c) if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) return } err = ironmole.CreateTable(bq, "cp300demo1", "go2bq", "Container2", schema) if err != nil { log.Errorf(ctx, "%v", err) } }
func handlerTableMoge(w http.ResponseWriter, r *http.Request) { ctx := appengine.NewContext(r) client := &http.Client{ Transport: &oauth2.Transport{ Source: google.AppEngineTokenSource(ctx, bigquery.BigqueryScope), Base: &urlfetch.Transport{Context: ctx}, }, } bq, err := bigquery.New(client) if err != nil { log.Errorf(ctx, "%v", err) http.Error(w, err.Error(), http.StatusInternalServerError) return } table := "Moge" tableParam := r.FormValue("table") if len(tableParam) > 0 { table = tableParam } moge := Moge{} schema, err := ironmole.BuildTableSchemaWithContext(ctx, &moge) if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) return } err = ironmole.CreateTable(bq, "cp300demo1", "go2bq", table, schema) if err != nil { log.Errorf(ctx, "%v", err) http.Error(w, err.Error(), http.StatusInternalServerError) return } w.WriteHeader(http.StatusOK) w.Write([]byte("done")) }