如何在云 pub/sub 上获取订阅的消息?

Posted

技术标签:

【中文标题】如何在云 pub/sub 上获取订阅的消息?【英文标题】:How to get messages of a subscritpion on the cloud pub/sub? 【发布时间】:2018-04-11 06:37:22 【问题描述】:

我想注意到 Cloud Pub/Sub(GCP) 中的订阅者无法处理的剩余消息。 我不希望 pub/sub 在没有通知的情况下丢失一些消息。

我知道我无法在 Cloud Pub/Sub(GCP) 中设置死信队列。 所以我正在尝试开发工具或批处理来通过 api 观看订阅消息,即 projects.subscriptions.pull(https://cloud.google.com/pubsub/docs/reference/rest/v1/projects.subscriptions/pull?hl=ja)。

但我不知道如何使用 google-cloud-pubsub:0.26.0-beta 调用 api。 另外,我正在用scala + play开发批处理。

我发现我可以使用“gcloud beta pubsub subscriptions pull”命令获取消息,但是我没有得到程序可以检查消息是否有一段时间没有处理的发布时间。

请帮帮我!

【问题讨论】:

【参考方案1】:

Cloud Pub/Sub 客户端库不直接公开 pull 方法,而是提供了一个为高效接收消息而设计的异步 API。您可以使用此异步 API 来接收您的消息。 Java documentation 演示了如何使用此 API 创建订阅者。如果您有特定的原因要调用同步拉取方法,那么您需要生成基于 gRPC 的库。您可以在Service APIs Overview page 上找到说明。

【讨论】:

非常感谢您的帮助!! 我想知道在 Pub/Sub 中发送的消息。因为我试图根据消息的数量来扩展订阅者。我将尝试基于 gRPC 的库。

以上是关于如何在云 pub/sub 上获取订阅的消息?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用当前的 pubsub 订阅者从 google Pub/Sub 系统获取消息

如何在 GCP Pub/sub 中修复来自推送订阅的多条消息

pub/sub : 如何使用 pub sub 查看任何电子邮件帐户中的消息?

Google Cloud 上使用 Pub/Sub 的主/从模式

Redis Pub/Sub 发布订阅模式的深度解析与实现消息队列

GCP Pub/Sub,如果已有活动订阅,您能否在新订阅上重播旧消息