如何在 Google Cloud PubSub 中为订阅提供到期时间

How to provide an expiration time for a subscription in 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 的正确格式吗?

需要将expirationPolicyttl指定为秒字段为整数的对象:

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

这与文档不一致,所以我 created a GitHub issue 来跟踪不一致之处。