You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GCP Pub/Sub订阅能否基于属性值后缀而非前缀实现消息过滤?

GCP Pub/Sub 订阅后缀匹配过滤方案

GCP Pub/Sub 消息过滤语法原生提供了和hasPrefix对应的后缀匹配函数endsWith,直接用它就能实现你的需求,不需要额外处理前缀部分。

具体写法

针对你要匹配objectId属性值以_MANIFEST结尾的场景,直接在订阅过滤规则里填下面的表达式即可:

attributes.objectId.endsWith("_MANIFEST")

这个表达式会自动忽略前缀的所有内容,只要属性值末尾是_MANIFEST的消息都会被筛选到,完全匹配你给出的event-notifications-test/_MANIFEST这类格式的消息。

补充注意事项

  • 匹配默认大小写敏感,如果你的业务场景里后缀可能出现大小写变体(比如_manifest、_Manifest),可以先把属性值转为全小写再匹配,写法如下:
    attributes.objectId.lower().endsWith("_manifest")
    
  • 如果后续有更复杂的字符串匹配需求(比如匹配值中间的固定片段、符合特定规则的字符串),可以用matches函数配合正则表达式实现,但后缀匹配场景直接用endsWith是性能最优、写法最简洁的方案,不建议滥用正则。
  • 注意表达式里的属性名要和你实际消息里的属性键完全对应,不要照搬hasPrefix示例里的attributes.name,你自己的场景里键名是objectId。

内容的提问来源于stack exchange,提问作者Dodo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.01 04:57:55