use*_*121 1 go google-cloud-dataflow
我正在尝试通过 Go 应用程序从现有模板启动数据流作业。
到目前为止,我已经引入google.golang.org/api/dataflow/v1b3并创建了一个CreateJobFromTemplateRequest包含工作信息的文件。
现在,我如何使用 Compute Engine 中的内置服务帐号凭据执行该请求?
仅当存在为您调用的服务开发的Go 的 Google 客户端库时,才建议使用自动生成的 Go 的 Google API 。目前还没有适用于 Dataflow 的客户端库。
要使用默认凭据从 Go 应用程序启动 Dataflow 模板:
ctx := context.Background()
oauthClient, err := google.DefaultClient(ctx, dataflow.CloudPlatformScope)
dataflowService, err := dataflow.New(oauthClient)
if err != nil {
panic(err)
}
templateRequest := dataflow.CreateJobFromTemplateRequest{
GcsPath: "gcs path to template here",
JobName: "choose a unique job name here",
Parameters: map[string]string{
"parameters": "for job",
},
}
result, err := dataflowService.Projects.Templates.Create("project id", &templateRequest).Do()
if err != nil {
panic(err)
}
Run Code Online (Sandbox Code Playgroud)