Apache Camel 如何创建路线与2个不同的谷歌pubsubs

x7yiwoj4  于 2022-11-07  发布在  Apache
关注(0)|答案(1)|浏览(140)

当建立一条路线时,我想从一个谷歌pubsub中提取一条消息,并将其发送到另一个。换句话说,在我的RouteBuilder中,我想:

from(<pubsub1>)
 .to(<pubsub2>);

为了进行身份验证,我有两个JSON密钥文件。如果我只使用一个pubsub主题,我将这样进行身份验证:

GooglePubsubConnectionFactory cF = new GooglePubsubConnectionFactory ();
cF.setCredentialsFileLocation(<file location>);
GooglePubsubComponent pubsub = getContext().getComponent("google-pubsub");
pubsub.setConnectionFactory(cF);

但我有两个不同钥匙的pubsubs,我该怎么做?

0yycz8jy

0yycz8jy1#

您应该在端点URI中提供serviceAccountKey参数,例如

from("google-pubsub://project-id:destinationName?serviceAccountKey=/path/to/key/file")
  .to(...)

然后,您可以使用不同的服务帐户连接到不同的主题。
看起来这个问题在3.7和3.11版本之间得到了解决。在3.11之前,你似乎只能使用一个google服务帐户进行连接。在这种情况下,你可以更新这些主题的访问控制,这样服务帐户就可以访问这两个主题。
文件:https://camel.apache.org/components/3.11.x/google-pubsub-component.html#_query_parameters_13_parameters

相关问题