Azure 事件中心使用 AMQP 协议传输消息。高级消息队列协议 1.0 是一种标准化的框架和传输协议,用于在两方之间异步、安全和可靠地传输消息。它是 Azure 服务总线消息传递和 Azure 事件中心的主要协议。这两项服务还支持 HTTPS。也支持的专有 SBMP 协议正在逐步淘汰,以支持 AMQP。
这里有一个简短的总结和一些参考资料,应该澄清出站端口的主题:
首先,这取决于您是使用旧客户端还是新客户端,还是使用其他 API。 AMQP 协议指南实际上在下面的“连接和会话”部分下的文章中有很好的指导:
https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-amqp-protocol-guide
以上文章要点:
• Azure 服务总线需要始终使用 TLS。
• 它支持通过 TCP 端口 5671 和 TCP 端口 5672 的连接。服务器立即使用 AMQP 规定的模型提供强制升级到 TLS。 AMQP WebSockets 绑定在 TCP 端口 443 上创建一个隧道,然后等效于 AMQP 5671 连接。
• 现代(.Net Standard 和 Java)客户端都使用 AMQP,因此上述指南适用。
• 旧的 .NET 库有一个自定义的、基于 WCF 的协议,该协议使用 TCP 和端口 9354(称为 SBMP,服务总线消息传递协议)。
• 如果您只使用我们的 REST API,您可能只能打开端口 443。
IP 地址白名单
要为您的连接找到正确的 IP 地址以将其列入白名单,例如,您可以执行以下操作。从连接字符串中复制命名空间 URL,或者通常只使用 YourNamespaceName.servicebus.windows.net,然后打开命令提示符并执行:nslookup YourNamespaceName.servicebus.windows.net。 “非权威答案”中返回的IP地址就是你要找的。p>
请注意:此 IP 地址是静态的。它会改变的唯一时间点是如果我们例如会将命名空间恢复到不同的集群上,这在不发生严重事件的情况下通常不会发生。
希望对你有帮助。