繁体   English   中英

python pubsub 订阅到期

[英]python pubsub subscription expiration

我有创建主题和订阅的 python 代码,但我想创建当前没有到期日期的订阅,如果在创建订阅时没有给出任何内容,31 天是订阅到期的默认值,我的 python 代码相同:

publisher = pubsub_v1.PublisherClient()
subscriber = pubsub_v1.SubscriberClient()

project_path_topic = publisher.project_path('project')
project_path_sub = subscriber.project_path('project')

topic_path = publisher.topic_path('project', 'topic-name')
subscription_path = subscriber.subscription_path('project', 'subscription-name')

topic_path = publisher.topic_path(project_id, topic_name)
subscription_path = subscriber.subscription_path(project_id, sub_name)

# topic and sub creation
topic_created = publisher.create_topic(topic_path)
subscription = subscriber.create_subscription(subscription_path, topic_path)

现在,我想永远覆盖过期,但我没有从文档中找到任何现有的标志,我可以在我的 python 代码中轻松设置这些标志。

使用命令行的方法,但我不想使用它,因为我的整个代码已经用 python 编写,而不是为什么不通过 python api 来处理这个问题。

如果您知道如何在 python 代码库中实现它,请提供帮助,假设所有语言将仅使用相同的谷歌后端 api。(我可以看到后端 api它处理过期策略(expirationPolicy)但没有看到python api 文档中相同)

注意 - 我正在创建拉式基础订阅而不是推送。

这是非常糟糕的记录,但我成功了! 这里的代码

    update_mask = {"paths": {"expiration_policy"}}
    # expiration_policy = pubsub_v1.types.ExpirationPolicy(ttl= pubsub_v1.types.Duration(seconds=605000))
    expiration_policy = pubsub_v1.types.ExpirationPolicy()
    subscription = pubsub_v1.types.Subscription(name=subscription_path,  expiration_policy=expiration_policy)
    subscription = subscriber.update_subscription(request={"subscription": subscription, "update_mask": update_mask})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM