用于排空或清除Google Cloud pubsub主题的最佳做法

DrM*_*all 32 google-cloud-pubsub

对于消息数量在~100k范围内的pubsub主题,使用gcloud-java SDK排空/删除/清除/删除所有消息的最佳做法是什么?

可能的解决方案:

  • 删除并重新创建订阅者,然后重新创建发布者

  • 高并发拉+ ack(这种方式很容易达到配额)

  • 还有别的

我希望这个过程可以快速(不超过60秒),健壮,并使用支持的SDK方法,只需要最少的其他代码.

Kam*_*osn 45

使用快照和搜索功能的描述进行更新: 可以通过寻找与现在相对应的时间戳来对Pub/Sub订阅(当前为alpha)使用seek来查找较旧的消息.最好的方法是通过gcloud命令行工具.确认发布到特定时间戳的消息的命令是:

gcloud pubsub subscriptions seek <subscription path> --time=yyyy-mm-ddThh:mm:ss
Run Code Online (Sandbox Code Playgroud)

添加快照和搜索之前的先前答案: 目前,Google Cloud Pub/Sub无法清除旧邮件,但我们希望添加这些邮件.在时间和成本方面,删除和重新创建订阅将是最有效的清除方式.您不必与发布商做任何事情; 从重新开始后的点发布的任何消息将在重新创建的订阅上发送给订阅者.

  • 也许对某些人在终端中复制/粘贴很有用:“ gcloud beta pubsub订阅寻求testSubscription --time = $(date +%Y-%m-%dT%H:%M:%S)” (7认同)