如何在Azure Function 中设置Azure DocumentDB 输出绑定的重试次数?

How to set the number of retries for Azure DocumentDB output binding in Azure Function?

基于此 ,似乎在 Azure Function 中写入 Azure DocDB 输出绑定时,如果受到限制 (HTTP 429),将重试 10 次。不过我自己还没有验证过。

我想增加重试次数限制。我的数据在很短的时间内以大块的形式出现,然后停机时间很长,这意味着获得 429 并等待一点对我的目的来说是可以的。但我必须保证,没有数据被丢弃。

我解决这个问题的一种方法是增加文档数据库中的 RTU 限制,以确保在大量数据进入时我不会得到 429,但它已经是我的 2.5 倍左右停机期间需要。有没有办法无限重试 运行 直到成功,或者不太理想,将重试次数增加到 10 次以上?

你为什么不改变方法,而不是立即插入文档,你可以使用服务总线并实现死信队列,这里有一些链接:

想法是这样的:

  1. 当前函数不是将数据保存在 DocumentDB 中,而是将其发送到服务总线(您只需更改输出绑定)
  2. 另一个函数将处理服务总线的每条消息,如果失败(您可以在函数中管理超时,然后将消息移至死信队列)
  3. 将处理死信队列中任何消息的另一个函数

您只需要对第一个函数做一点小改动,然后再创建两个,听起来可能太复杂了,但您的数据会有很强的一致性。在以上所有链接中,都有我在这里提到的示例。