【问题标题】:Azure EventGrid queue programmatically set messages to never expireAzure EventGrid 队列以编程方式将消息设置为永不过期
【发布时间】:2021-07-29 18:07:21
【问题描述】:

是否有人知道将 EventGrid 订阅和队列的消息保留设置为永不过期的最佳方法(如果有的话)?这是针对 blob 存储的,在添加/更新/删除文件时触发。默认情况下,保留期为 7 天。我一直在阅读诸如https://docs.microsoft.com/en-us/azure/storage/queues/storage-python-how-to-use-queue-storage?tabs=python 之类的微软文档,其中指出“默认生存时间为 7 天”,但没有详细说明如何以编程方式更改这一点。我可以从 SDK 中看到如何在每条消息的基础上执行此操作,但这对我没有帮助,因为我想在事件订阅级别执行此操作,而不是每次创建消息时执行此操作。我附上了如何在门户中的事件订阅级别设置它的屏幕截图

Azure Portal Event Subscription Config

【问题讨论】:

标签: azure azure-eventgrid


【解决方案1】:

当您将处理程序的订阅创建为存储队列时,您可以配置 TTL。

这是对自定义交付属性的引用:https://docs.microsoft.com/en-us/azure/event-grid/delivery-properties#configure-time-to-live-on-outgoing-events-to-azure-storage-queues

CLI 参考(参见 --delivery-attribute-mapping):https://docs.microsoft.com/en-us/cli/azure/eventgrid/event-subscription?view=azure-cli-latest#az_eventgrid_event_subscription_create

【讨论】:

  • 这向您展示了如何通过门户网站对订阅进行操作,但我想以编程方式进行操作。 SDK 或 CLI 似乎都没有这个功能,它只是针对我能找到的消息(timeToLive):azuresdkdocs.blob.core.windows.net/$web/dotnet/…
  • 添加了 CLI 参考答案。 :)
  • 谢谢,我可以看到我需要的属性 --qttl。这是一个很大的帮助,更喜欢 Python 或 C# 解决方案,但这已经足够现在使用,并且不必手动更新门户中的订阅!
猜你喜欢
  • 2012-10-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-28
  • 2011-03-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多