在App Engine Dataflow作业中使用Dataflow API启动时,我必须将参数传递给模板。

 com.google.api.services.dataflow.Dataflow.Projects.Locations.Templates.Launch request1 =


    dataflowService.projects().locations().templates().launch(projectId,"us-central1",null);

                request1.setGcsPath(template);
                request1.setLocation("us-central1");
                request1.setValidateOnly(false);

                //Storing launch Response
                LaunchTemplateResponse response1 = request1.execute();


在“我的代码”中,我能够设置GCS路径,位置和有效性,但无法像在Cloud Function中一样设置参数。这是使用java设置参数的任何方法。因为在Python中它可能,所以我在Java中认为是。

最佳答案

传递我使用的参数-:
LaunchTemplateParameters参数=新的LaunchTemplateParameters();

LaunchTemplateParameters parameters = new LaunchTemplateParameters();
    Map<String,String> map = new HashMap<String,String>();
            map.put("inputFile", "gs://xyz-bucket/Temp.txt");
parameters.setParameters(map);
        com.google.api.services.dataflow.Dataflow.Projects.Locations.Templates.Launch request1 =
                        dataflowService.projects().locations().templates().launch(projectId,"us-central1",parameters);

            request1.setGcsPath(template);
            request1.setLocation("us-central1");
            request1.setValidateOnly(false);


            LaunchTemplateResponse response1 = request1.execute();

09-11 10:38