我在 .net 中创建了一个事件中心处理器,遵循该示例: https://github.com/Azure/azure-sdk-for-net/blob/Azure.Messaging.EventHubs.Processor_5.11.2/sdk/eventhub/Azure.Messaging.EventHubs.Processor/samples/Sample03_EventProcessorHandlers.md#process -错误
调用“StartProcessingAsync”失败并出现错误: “RequestResponseAmqpLink 的创建未在 0 毫秒内完成。”
我有什么遗漏的吗?
eventProcessorClient 是这样创建的,具有默认的客户端选项:
_eventProcessorClient = new EventProcessorClient
(
storageClient,
consumerGroup,
fullyQualifiedNamespace,
eventHubName,
new DefaultAzureCredential()
);
EH 和 Blob 存储的角色已配置(Azure 事件中心数据接收器、存储 Blob 数据贡献者)
该错误表明客户端无法在您配置的TryTimeout允许的时间内创建连接、授权和创建 AMQP 链接。由于这种性质的超时异常是隐式重试的,因此当它出现在您的应用程序中时,这意味着它在所有重试尝试中都是一致的失败。
一般来说,这可以归结为几个常见原因:
您的网络正在阻止标准 AMQP 端口(5671、5672)。通常将传输配置为使用AmqpWebSockets会有所帮助,但这取决于您的网络。
您的网络速度非常慢。您需要确保您的应用程序和事件中心命名空间位于同一 Azure 区域。
您的主机即将耗尽 SNAT 端口,但尚未完全放弃。您的网络请求被停滞,等待资源变得可用,并在此过程中超时。