我正在尝试通过PipelineOptions.setUserAgent自定义用于不同GCP调用的用户代理。
但是,它似乎总是退回到Apache_Beam_SDK_for_Java/2.6.0
。
查看Beam代码库,看来用户代理是由数据流运行程序强迫的:https://github.com/apache/beam/blob/ce9ee0b034cef66ea3845ca049770b9a354a4fd4/runners/google-cloud-dataflow-java/src/main/java/org/apache/beam/runners/dataflow/DataflowRunner.java#L330。
这是故意的吗?它应该可定制吗?
编辑:通过--userAgent
CLI标志指定它似乎也不起作用。
答案 0 :(得分:0)
Apache Beam从sdk.properties
文件中获取它:https://github.com/apache/beam/blob/master/sdks/java/core/src/main/java/org/apache/beam/sdk/util/ReleaseInfo.java#L37
您应该能够覆盖与资产捆绑在一起的属性文件中的name
和version
。示例:https://github.com/apache/beam/blob/master/sdks/java/core/src/main/resources/org/apache/beam/sdk/sdk.properties