如何使用Cosmos DB触发器从Azure函数中的Azure Cosmos DB中断中恢复

时间:2018-07-27 11:28:31

标签: azure azure-functions azure-cosmosdb

带有Cosmos DB触发器的Azure函数(v1)如何从Cosmos DB中断中恢复? 这应该自动发生还是需要重启功能应用程序?

在我们的方案中,Cosmos DB不可用,因为达到了订阅支出限制。取消支出限制后,Cosmos DB再次可用,并且通过输出绑定写入Cosmos DB的函数成功。

通过CosmosDB触发器连接到Cosmos DB的函数无法从中断中恢复,并不断抛出以下异常:

<option value="">Please select your Title</option>-->

重新启动Function App之后,Cosmos DB触发器再次工作。

我想,当Cosmos DB由于其他原因遭受中断时,也会发生这种情况。

为了使我们的系统能够抵御Cosmos DB的临时中断,我们如何使CosmosDB触发器恢复到可操作状态?如果出现错误,我们是否必须重启功能应用程序?或者有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

这是由于Azure Functions运行时和Cosmos DB触发器中的重试机制存在问题。

运行时不断尝试重新初始化触发器,以指数方式回退,但是在这种特定情况下(超出支出限额)遇到了问题。 Github issue中对此进行了跟踪。

一个fix for this has been merged,应该包含在运行时的下一发行版中。

修复程序到位后,如果该帐户再次可用,则无需重新启动Function App。