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

如何为测试与发布场景分别使用Google Pub/Sub服务

谷歌IAP场景下Pub/Sub测试与生产消息分离方案

方案1:创建独立Topic彻底隔离(推荐)

  • 分别创建测试、生产两个独立的Pub/Sub Topic,比如iap-test-topic和iap-prod-topic
  • 在Google Play Console的**实时开发者通知(RTDN)**设置中,将测试环境的IAP消息推送到iap-test-topic,生产环境消息推送到iap-prod-topic
  • 测试服务器仅订阅iap-test-topic,生产服务器仅订阅iap-prod-topic
  • 这种方式从源头隔离消息,完全避免串流问题,没有额外资源消耗

方案2:利用Pub/Sub订阅过滤功能

如果不想新增Topic,可以通过订阅的过滤规则区分消息:

  • 先确认RTDN消息中区分测试/生产的标识:比如测试消息的orderId会以TEST-GPA开头,或者消息属性里的testNotification字段为true
  • 给测试服务器的订阅添加过滤条件:
    attributes.orderId startsWith "TEST-"
    
    或者针对testNotification属性:
    attributes.testNotification = "true"
    
  • 给生产服务器的订阅添加过滤条件:
    attributes.orderId NOT startsWith "TEST-"
    
    或者:
    attributes.testNotification = "false"
    
  • 注意:如果区分字段在消息体而非attributes中,需要先通过Cloud Functions或Dataflow将消息体中的测试标识提取到Pub/Sub消息的attributes里,因为Pub/Sub过滤仅支持attributes和元数据。

方案3:服务器端本地过滤(临时快速方案)

  • 保留现有两个订阅,在服务器收到消息后自行判断:
    • 测试服务器收到消息时,检查是否为测试消息(比如orderId前缀、test字段),是则处理,否则直接丢弃
    • 生产服务器仅处理非测试消息
  • 优点是无需修改Pub/Sub配置,缺点是消息仍会推送到目标服务器,存在一定资源浪费,适合临时测试场景

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 20:55:11