如何从管道内或管道运行之前获取数据流作业 ID?
Posted
技术标签:
【中文标题】如何从管道内或管道运行之前获取数据流作业 ID?【英文标题】:How do I get a dataflow Job ID from within the pipeline or before the pipeline ran? 【发布时间】:2020-12-04 03:39:44 【问题描述】:我想在实际运行管道或在管道内部之前将数据流的作业 ID 作为字符串获取。
例如,假设我有这个:
DataflowOptions options = optionsConst.getOptions();
Pipeline p = Pipeline.create(options);
String jobID = doSomthing(); <-- I'd like to grab the job id here
PCollection<KV<String, Object>> refData = p.apply("BigTable Access", BigtableIO.read()
.withProjectId(options.getBigtableProjectId())
.withInstanceId(options.getBigtableInstanceId())
.withTableId(options.getLookupTableId()))
.apply("Keep tags valid versions", ParDo.of(new MethodThatDoesSomethingWithJobID(**jobId**))); <-- Or inside this
【问题讨论】:
【参考方案1】:这是不可能的,因为 Job Id 是在您开始运行它时创建的。您可以做的是在开始运行管道后保存输出,或返回list job running
【讨论】:
您也可以在 PipelineOptions 中为作业指定作业名称,但这不是作业 ID,正如 Ramses 正确指出的那样。以上是关于如何从管道内或管道运行之前获取数据流作业 ID?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Azure REST API 从管道中获取所有变量?