Azure 由内而外的连接

标签 azure azure-functions signalr message-queue azure-logic-apps

我正在努力将我的本地应用程序连接到 Azure 逻辑应用程序。这里的问题是我的网络不接受任何入站调用,但无论如何也不限制出站调用,因此我必须从内到外打开连接。

在当前状态下,我有逻辑应用程序,它最终应该对我的本地托管 Web API 进行 HTTP 调用,但由于上述原因,这是一个行不通的解决方案。

我的想法之一是创建 Azure SignalR 服务,从网络内部连接到它并等待消息。为此,我还必须创建代理 Azure 函数以从逻辑应用程序获取请求并将其广播到 SignalR - 我对 Azure 不太熟练,但这对我来说看起来不太合适。

另一个想法是使用 Azure 消息队列,但随后我必须按计划运行来读取消息,而要求之一是具有实时连接。

对于创建从 .Net 客户端到 Azure 的连接的最佳方式,您还有其他想法吗? 要求如下: 消息必须源自逻辑应用程序, 连接必须是从防火墙内部到外部, 消息必须实时接收, 无法引入新的防火墙规则。

最佳答案

消息队列似乎很合适。使用 Azure 存储队列时,您确实需要轮询新消息。但是,Azure 服务总线队列推送消息,如the docs所述。 :

As a solution architect/developer, you should consider using Service Bus queues when:
[...]
Your solution needs to receive messages without having to poll the queue. With Service Bus, you can achieve it by using a long-polling receive operation using the TCP-based protocols that Service Bus supports.

我已成功使用 Azure 服务总线队列进行近实时通信,因此这绝对是可能的。

关于Azure 由内而外的连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73443992/

相关文章:

Azure 事件网格函数触发器 - 试用期

c# - 仅在 Azure Web 应用程序中从 FTP 下载文件失败

java - JAX-RS 与 Jersey 和灰熊 : 500 Request failed for all requests

c# - 使用 DataStax C# 驱动程序时故障转移不适用于 Cassandra

Azure函数主机无法解析依赖项

带有远程客户端的 WinForm 中的 SignalR 聊天应用程序

c# - Azure DevOps - 通过 Api 更新用户配置文件

.net - 系统丢失方法异常 : Method not found: 'Void Microsoft.Extensions.Caching.Memory.MemoryCache..ctor'

c# - NuGet 版本与 SignalR 和 Owin 发生冲突

asp.net-mvc-3 - SignalR 多个聊天室