golang google bigquery v2 api指定目标表

golang google bigquery v2 api指定目标表,go,google-bigquery,Go,Google Bigquery,我试图使用google bigquery v2 api运行查询作业并将查询结果集存储到另一个bigquery表中,但在v2 api的go包装器中未找到任何关于如何执行此操作的文档或示例。我可以看到有一种方法可以在原始RESTAPI负载中指定目标表,但需要使其在运行中工作。请参阅此处的文档 下面是一个简单的例子。希望这能给你正确的方向 import "google.golang.org/api/bigquery/v2" bigqueryService, err := bigquery.New(o

我试图使用google bigquery v2 api运行查询作业并将查询结果集存储到另一个bigquery表中,但在v2 api的go包装器中未找到任何关于如何执行此操作的文档或示例。我可以看到有一种方法可以在原始RESTAPI负载中指定目标表,但需要使其在运行中工作。

请参阅此处的文档

下面是一个简单的例子。希望这能给你正确的方向

import "google.golang.org/api/bigquery/v2"

bigqueryService, err := bigquery.New(oauthHttpClient)

if(err != nil) {
    return "ERROR"
}

var projectId = "your-project"
var datasetId = "your-dataset"
var tableId = "your-table"
var queryText = "your-query"
var writeDisposition = "WRITE_TRUNCATE"

job := &bigquery.Job{
    Configuration: &bigquery.JobConfiguration{
        Query: &bigquery.JobConfigurationQuery{
            DestinationTable: &bigquery.TableReference{
                DatasetId: datasetId,
                ProjectId: projectId,
                TableId:   tableId,
            },
            Query:    queryText,
            WriteDisposition: writeDisposition,
        },
    },
}

call := bigqueryService.Jobs.Insert(projectId, job)
job, err2 := call.Do()
if err2 != nil {
    return "ERROR"
}

//check job status
var jobid = job.JobReference.JobId
bqjob, err3 := bigqueryService.Jobs.Get(projectId, jobid).Do()
if(err3 != nil) {
    return "ERROR"
}

伟大的如果答案帮助你解决你的问题,你可以考虑接受它。你也应该考虑投票表决。有关更多信息,请参阅中的at和Upvote部分