未找到发布订阅用户代理配置

时间:2021-04-27 09:27:33

标签: java google-cloud-platform apache-beam dataflow

我有一个数据流作业在这个用户代理上运行正常(我们只配置了 Apache Beam 版本,所以自动配置了 JDK 环境)

<块引用>

Apache_Beam_SDK_for_Java/2.19.0(JDK_11_environment)

在升级工作流后,我们声明使用 Beam 2.27 并且使用以下用户代理启动了作业:

<块引用>

Apache_Beam_SDK_for_Java/2.27.0(JDK_11_environment)

它开始失败并出现错误:

<块引用>

工作流程失败。原因:未找到订阅“xxx”。请提供 现有订阅。

pub sub 订阅存在,它与我们之前使用的相同,甚至作业配置属性中的链接运行良好并导航到订阅

我们之前已经成功部署了在不同 GCP 实例中失败的相同作业版本,在这里我们看到用户代理是:Apache_Beam_SDK_for_Java/2.27.0(JRE_8_environment)。我们的项目配置为使用 Java 8,因此我们在失败的环境中启动作业时添加了以下参数

--userAgent="Apache_Beam_SDK_for_Java/2.27.0(JRE_8_environment)"

它开始工作了。但是,尽管工作正常,但我们仍然在作业属性上看到了这一点:

<块引用>

Apache_Beam_SDK_for_Java/2.27.0(JDK_11_environment)

您知道对此有什么解释吗?哪种方法可以确保使用 Java 8 来运行工作流?

谢谢

3 个答案:

答案 0 :(得分:1)

有类似的问题,但使用的是 Python SDK。通过数据流运行 apache beam。在一个项目中,它可以看到订阅。另一方面,它不能。一切都几乎相同,所以令人困惑。

这是昨天开始发生的。如果我在调试中发现任何有用的东西,我会在这里跟进

答案 1 :(得分:0)

我们遇到了类似的问题,我们通过为服务帐号提供 IAM 角色“pubsub.viewer”解决了这个问题。

答案 2 :(得分:0)

我遇到了同样的问题,我通过更新到 Beam 2.29.0 解决了

相关问题