首页 > 解决方案 > 如何在 Google Cloud PubSub 中为订阅提供过期时间

问题描述

我正在尝试为订阅设置到期时间。

这是官方文档建议的选项的样子:

https://cloud.google.com/nodejs/docs/reference/pubsub/0.28.x/global#CreateSubscriptionRequest https://cloud.google.com/nodejs/docs/reference/pubsub/0.28.x/global#ExpirationPolicy

let options = {
  expirationPolicy: {
    ttl: '86400s',
  },
};

然后我得到了.google.pubsub.v1.ExpirationPolicy.ttl: object expected错误。

所以我尝试在属性中添加一个对象,ttl然后出现以下错误:The value for 0 is too small. You passed expiration duration in the request, but the minimum value is 24h.

我无法找到正确的格式。

我在@google-cloud/pubsub@0.28.1 并尝试升级到@google-cloud/pubsub@0.29.1。没运气。

任何人以前都经历过这种情况或知道正确的格式expirationPolicy吗?

标签: node.jsgoogle-cloud-platformgoogle-cloud-pubsub

解决方案


expirationPolicy ttl需要指定为秒字段为整数的对象:

let options = {
  expirationPolicy: {
    ttl: {
      seconds: 86400
    }
  }
};

这与文档不一致,因此我创建了一个 GitHub 问题来跟踪不一致之处。


推荐阅读