当前位置: > > > > BigQuery 创建计划查询
BigQuery 创建计划查询
来源:stackoverflow
2024-04-19 08:21:32
0浏览
收藏
哈喽!大家好,很高兴又见面了,我是米云的一名作者,今天由我给大家带来一篇《BigQuery 创建计划查询》,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一起来看看吧!
问题内容
我正在尝试在 Go 中创建调度 DELETE 查询,但我在 bigquery 文档中找不到任何示例。
在本文档中,他们提供的唯一示例是 java 和 python。有没有关于如何在 Go 中创建计划查询的示例? https://cloud.google.com/bigquery/docs/scheduling-queries
解决方案
您可以在 go 库中找到示例。基本上这里是使用示例
您应该创建一个 transferconfig ,它是 gcloud api 的一部分,您也可以从 go 使用它,即使它没有明确记录
以下是实现此目标的方法:
import (
datatransfer "cloud.google.com/go/bigquery/datatransfer/apiv1"
"context"
"fmt"
structpb "github.com/golang/protobuf/ptypes/struct"
datatransferpb "google.golang.org/genproto/googleapis/cloud/bigquery/datatransfer/v1"
)
func main() {
projectID := "projectID"
datasetID := "DatasetID"
serviceAccountName := ""
ctx := context.Background()
c, err := datatransfer.NewClient(ctx)
if err != nil {
panic(err)
}
transConf := &datatransferpb.TransferConfig{
Name: "test",
DisplayName: "TestQuery",
DataSourceId: "scheduled_query",
Destination: &datatransferpb.TransferConfig_DestinationDatasetId{
DestinationDatasetId: datasetID,
},
Params: &structpb.Struct{
Fields: map[string]*structpb.Value {
"query": &structpb.Value {
Kind: &structpb.Value_StringValue{ "DELETE FROM `datasetID.table` where field='Value' "},
},
},
},
Schedule: "every 15 minutes",
}
_, err = c.CreateTransferConfig(ctx, &datatransferpb.CreateTransferConfigRequest{
Parent: fmt.Sprintf("projects/%s", projectID),
TransferConfig: transConf,
ServiceAccountName: serviceAccountName,
})
if err != nil {
panic(err)
}
}
好了,本文到此结束,带大家了解了《BigQuery 创建计划查询》,希望本文对你有所帮助!关注米云公众号,给大家分享更多Golang知识!
