using the BigQuery Golang sdk, how does one get a list of tables in a dataset that also contains their metadata?
1条回答 默认 最新
- doucao8982 2018-10-19 17:44关注
package main import ( "context" "cloud.google.com/go/bigquery" "google.golang.org/api/iterator" "fmt" "encoding/json" ) func main() { tables, metas, err := tableMetadatas(context.Background(), "my-project", "my-dataset") if err != nil { fmt.Println("Error: %v", err) } else { fmt.Println("Tables:") bt, _ := json.MarshalIndent(tables, "", " ") fmt.Println(string(bt)) fmt.Println("Table Metadatas:") bm, _ := json.MarshalIndent(metas, "", " ") fmt.Println(string(bm)) } } // Gets a list of Tables & Their respective Metadata in a Dataset func tableMetadatas(ctx context.Context, project string, dataset string) ([]*bigquery.Table, []*bigquery.TableMetadata, error) { c, err := bigquery.NewClient(ctx, project) if err != nil { return nil, nil, err } metas := make([]*bigquery.TableMetadata, 0) tables := make([]*bigquery.Table, 0) d := c.Dataset(dataset) it := d.Tables(ctx) for { t, err := it.Next() if err == iterator.Done { break; } if err != nil { return nil, nil, err } m, err := t.Metadata(ctx) if err != nil { return nil, nil, err } tables = append(tables, t) metas = append(metas, m) } return tables, metas, nil }
解决 无用评论 打赏 举报
悬赏问题
- ¥15 RPA正常跑,cmd输入cookies跑不出来
- ¥15 求帮我调试一下freefem代码
- ¥15 matlab代码解决,怎么运行
- ¥15 R语言Rstudio突然无法启动
- ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
- ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
- ¥15 用windows做服务的同志有吗
- ¥60 求一个简单的网页(标签-安全|关键词-上传)
- ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
- ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。