pub/sub : 如何使用 pub sub 查看任何电子邮件帐户中的消息?
Posted
技术标签:
【中文标题】pub/sub : 如何使用 pub sub 查看任何电子邮件帐户中的消息?【英文标题】:pub/sub : how can I use pub sub to check message in any email account? 【发布时间】:2018-12-19 06:19:14 【问题描述】:我是 GCP 上的 pub/sub 新手,理解一些概念有一些困难。因此,如果我想在邮箱中有新消息时收到电子邮件,我可以使用 Pub/Sub 吗?在这种情况下推送通知如何工作?我了解订阅者的概念,但在发布者的概念上有些困难。任何人都可以帮忙吗?
【问题讨论】:
【参考方案1】:虽然我不熟悉 Gmail API(我主要研究 GCP),但快速阅读文档可以提供有关此主题的一些非常有用的见解。另外,根据您的问题,我认为您的疑问更多地与 Pub/Sub 本身有关,而不是 Gmail API,所以让我尝试为您澄清一些事情。
我可以在 Gmail API 文档中看到,您可以 configure Gmail to send push notifications 使用 Cloud Pub/Sub 主题,这样 Gmail 就会在邮箱中向 Pub/Sub 主题发送发布请求更新与您建立的配置相匹配。虽然我无法详细了解这部分场景,但从文档中我了解到配置 Gmail 推送通知的方法是使用您想要的配置创建 watch()
request 并指向您应该的 Pub/Sub 主题之前创建的。一旦设置好(并且权限也被正确配置),Gmail 将在 7 天内持续发布邮箱消息更新(一周后,您必须重新致电 watch()
)。
为了接收通知,您现在可以完全忘记 Gmail API,而可以专注于 Pub/Sub。您应该创建一个 Pub/Sub 订阅(使用 Pull or Push configuration,具体取决于您的要求),以便您的客户端(无论在哪里,无论它是什么)接收用作通知的 Pub/Sub 消息。您可能必须确认这些消息,以免它们也被重试。
作为旁注,鉴于您提到 Pub/Sub 订阅者的概念对您来说或多或少很清楚,并且您想了解更多有关发布的信息,让我与您分享一些可能会派上用场的链接更好地了解环境:
Pub/Sub main concepts。 Typical Pub/Sub flow。 General guide for Pub/Sub publishers。在您展示的场景中(使用 Pub/Sub 的 Gmail 通知),您必须创建一个主题(使用您想要的名称,我们将其命名为 gmail_topic),Gmail API 会成为您的出版商。 watch()
方法在幕后所做的是调用 publish()
method 向您的主题 gmail_topic 发送消息(包含有关邮箱更新的信息)。消息被传递到 Pub/Sub 订阅(您可以创建并绑定到 gmail_topic),它们在每个订阅中保留 7 天(最长 retention period),直到您使用并确认他们。
【讨论】:
以上是关于pub/sub : 如何使用 pub sub 查看任何电子邮件帐户中的消息?的主要内容,如果未能解决你的问题,请参考以下文章
如何将属性从 Cloud Scheduler 传递到 Pub/Sub?
如何使用 Google Cloud Pub/Sub 进行 Junit 测试