正在设置Azure队列项目的TTL,该项目已移动到毒药队列



我有一个存储帐户,其中blob的创建会触发事件网格订阅,从而将BlobCreated事件移动到队列中。之后,在队列上触发Function应用程序,该应用程序将在损坏的文档上失败,从而将队列项目移动到毒队列。

现在,它似乎使用默认的7天TTL来移动它们,但对于毒药队列,我希望永远使用TTL。有什么方法可以更改触发器函数中毒药队列的TTL吗?

到目前为止我尝试过的:

  1. 查看事件网格订阅是否有任何选项可以设置队列的TTL
  2. host.json文件中查找可能的选项(在Func应用程序中(
  3. 使用反射更改CloudQueueMessage输入中的ExpirationTime,迫切希望它可以用于创建中毒队列项目

现在似乎使用默认的7天TTL来移动它们,但对于毒药队列我想要一个永远的TTL。有什么办法吗在触发器函数中更改毒药队列的TTL?

您可以将它们设置为-1。这里和这里有更多信息。您需要手动处理这些问题。您可以很容易地将侦听器添加到中毒队列中,然后重新发送TTL为-1的消息。

更新

对此进行了进一步研究。您可以实现一个返回CustomQueueProcessor的自定义IQueueProcessorFactory。默认实现在这里。您可以更改毒药队列的处理方式,并发送-1的TTL。

相关内容

  • 没有找到相关文章

最新更新