首页 文章

从Go app的Dataflow模板创建作业

提问于
浏览
0

我正在尝试通过Go应用程序从现有模板启动Dataflow作业 .

到目前为止,我带来了 google.golang.org/api/dataflow/v1b3 并创建了一份带有工作信息的 CreateJobFromTemplateRequest .

我现在如何使用Compute Engine中的内置服务帐户凭据执行该请求?

1 回答

  • 1

    仅当为您正在呼叫的服务开发了Google Client Library for Go时,才建议使用Auto-generated Google APIs for Go . 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)
    }
    

相关问题