我们正在开发一个结合使用 Azure Functions 和 Azure Service Busses 的接口项目(使用启用了会话的主题)。一切正常,但当我登录到 Azure 门户中的 Function App 日志流时,我收到此警告:
RunOperation encountered an exception and will retry. Exception: Azure.Messaging.ServiceBus.ServiceBusException: The operation did not complete within the allocated time 00:01:00 for object receiver2108. (ServiceTimeout)
---> System.TimeoutException: The operation did not complete within the allocated time 00:01:00 for object receiver2108.
at Microsoft.Azure.Amqp.AsyncResult.End[TAsyncResult](IAsyncResult result)
at Microsoft.Azure.Amqp.AmqpObject.OpenAsyncResult.End(IAsyncResult result)
at Microsoft.Azure.Amqp.AmqpObject.EndOpen(IAsyncResult result)
at Microsoft.Azure.Amqp.AmqpObject.<>c.<OpenAsync>b__51_1(IAsyncResult r)
at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization)
但是,该软件运行良好。所有服务总线消息均正确且良好地运行。 Function App 的主题触发器均已正确配置并且工作正常。
我不知道这个警告来自什么。
有什么想法吗? 预先感谢。
如果您没有看到消息处理中断,则可以放心忽略,并且应将其视为正常行为。
此错误表示触发器使用的服务总线客户端无法建立与服务的连接或链接。一般来说,这些都是暂时的,是由网络固有的不可靠性引起的。客户端将永远继续重试,并在网络连接恢复时恢复。
如果您没有看到消息处理出现明显中断,则可以认为这些是良性的。如果您发现吞吐量受到影响或消息流动不一致,则可能表明您需要解决问题。
确保您的服务总线命名空间和函数应用程序在同一区域中运行将是一个好主意。如果是,那么您可能需要打开 Azure 支持请求并要求调查您的 Function 应用程序的网络稳定性。