基于属性或消息内容的Google Pubsub订阅

时间:2018-11-28 15:58:16

标签: google-cloud-platform google-cloud-pubsub

我对GCP平台比较陌生。我有一个在pubsub主题中发布消息的系统。消息具有名为国家的属性,并且基于该属性,不同的客户端希望订阅消息。客户X仅对国家a的消息感兴趣。客户Y仅对国家b的消息感兴趣。

我必须在google pub sub中为每个国家/地区创建主题吗? 或者有一种聪明的方法可以基于属性值订阅单个主题

我指的是Google文档中所述的发布者传递的属性。 https://cloud.google.com/pubsub/docs/publisher

谢谢

2 个答案:

答案 0 :(得分:3)

您正在谈论的功能称为过滤:您希望订阅功能能够根据消息中提供的属性指定它希望接收消息的子集。目前,该功能在Google Cloud Pub / Sub中不存在。

现在有两种方法可以解决此问题:

  1. 通过查看属性并立即确认他们不感兴趣的所有消息来过滤订阅者自身中的消息。这确实意味着您将需要为将所有消息传递给每个订阅者付费,这取决于以下情况:订户实际感兴趣的消息百分比。
  2. 创建单独的主题和每个主题的订阅,根据属性将消息发布到那些单独的主题,然后让订阅者从订阅中获取相应主题的消息。

我们正在探索添加功能的方法,这些功能将使将来的使用案例变得更加容易。

答案 1 :(得分:0)

如果您希望能够进行订阅过滤-请在Cloud Pub / Sub创意论坛上对其进行投票! https://googlecloudplatform.uservoice.com/forums/302631-cloud-pub-sub