数据流模板不接受输入参数

Dataflow template is not taking input parameters

我有一个使用以下命令创建的数据流模板

 mvn compile exec:java \
 -Dexec.mainClass=com.StarterPipeline \
 -Dexec.args="--runner=DataflowRunner \
              --project=jason-qa \
              --stagingLocation=gs://jason_test/dataflow/staging \
              --region=asia-east1 \
              --zone=asia-east1-a \
              --subnetwork=regions/asia-east1/subnetworks/dmz-asia-east1 \
              --templateLocation=gs://jason_test/dataflow/Template \
              --campaignId="

正在使用以下命令执行模板

gcloud dataflow jobs run jason203 \
--project=jason-qa \
--region=asia-east1 \
--gcs-location gs://jason_test/dataflow/Template \
--parameters campaignId=run-test323,output=gs://jason_test/dataflow/counts

从 Count 示例复制代码并进行少量更改

public interface MyOptions extends PipelineOptions {

    @Description("campaign id")
    @Required
    @Default.String("default-test123")
    ValueProvider<String> getCampaignId();

    void setCampaignId(ValueProvider<String> campaignId);
}

  static void run(MyOptions options) {
Pipeline p = Pipeline.create(options);
String id = options.getCampaignId().get();
p.apply("ReadLines", TextIO.read().from(options.getInputFile()))
    .apply(new Count())
    .apply(MapElements.via(new FormatAsTextFn()))
    .apply("WriteCounts", TextIO.write().to(options.getOutput() + id));
p.run();

}

来自 DataFlow 作业摘要 --> 管道选项 我可以找到信息:campaignId 运行-test323

但是bucket中的结果,文件名是-00000-of-00003(应该是运行-test323-00000-of-00003)

应该删除代码中的 .get() ,然后它会起作用