是否可以通过 Pub/Sub 主题上的消息子集触发云功能?
Posted
技术标签:
【中文标题】是否可以通过 Pub/Sub 主题上的消息子集触发云功能?【英文标题】:Can a cloud function be triggered by a subset of messages on a Pub/Sub topic? 【发布时间】:2021-10-22 20:08:18 【问题描述】:我查看了 Cloud Pub/Sub Tutorial,它解释了如何编写云函数(在 Python 中)以使用来自 Pub/Sub 主题的消息并对其采取行动。
我的用例略有不同。我的云功能感兴趣的主题只有一部分消息,它们是带有特定attribute 的消息。我不想在云函数中询问消息以查看它是否具有正确的属性,因为我仍然需要支付执行该函数的成本,我宁愿只为具有以下内容的消息执行云函数他们身上的属性。
有没有办法指定我的函数应该只使用具有特定属性的消息?
【问题讨论】:
【参考方案1】:如果你创建一个后台函数,我的意思是一个由 PubSub 主题直接调用的函数,你不能。
要实现您想要的,您需要创建HTTP functions 并使用message filtering (the filtering is enforced on the message attributes only) 创建推送订阅
【讨论】:
【参考方案2】:不,没有。听起来您应该改用多个主题,每个主题对应一个您想要隔离的可能情况,以分离功能或目的。
来自documentation(强调我的):
发布到该主题的每条消息都会触发函数执行,消息内容作为输入数据传递。
【讨论】:
以上是关于是否可以通过 Pub/Sub 主题上的消息子集触发云功能?的主要内容,如果未能解决你的问题,请参考以下文章
Google Pub/Sub - 将消息发布到主题后,未从本地函数中找到事件数据