Azure Functions - TCP 持久

标签 azure azure-functions tcp

我正在寻找一种正确扩展 Azure Functions 的方法,但遇到了问题。

我有一组 IoT 设备,通过 HTTP 向 Azure 发送数据(为此,有一组自动扩展的 Azure Functions)

但现在有一种新的 IoT 设备可以通过 TCP/IP 持久连接发送数据,据我所知,Azure Functions 不支持此功能。

有人对如何实现这个有一些想法吗?

我想到的一个选择是让虚拟机处理 TCP 连接并将数据发送到队列,以便函数可以以可扩展的方式从队列中提取数据。

提前致谢,干杯。

最佳答案

如果您的设备仅通过持久 TCP/IP 连接进行通信,那么您需要实现 IoT 网关。 IoT 网关基本上是一个在本地或云端运行的应用程序,它与 1 个或多个 IoT 设备通信,然后网关可以连接到 Azure IoT 中心等服务并与之通信。从那里,您可以将事件发送到 Azure IoT 中心,然后使用 Azure 流分析之类的工具在云中处理这些事件,然后发送到事件中心或服务总线队列(例如)。然后,一旦进入队列,您就可以编写一个要触发的 Azure 函数,以在这些事件发生时对其进行处理。

无法打开与 Azure Function 的持久 TCP/IP 连接。 Azure Functions 是无服务器计算,本质上是事件驱动的且运行时间短。建议 Azure 函数每次执行的最长运行时间不超过 5 分钟。

关于Azure Functions - TCP 持久,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48828653/

相关文章:

linux - 用监听套接字 fork

azure - 在 WebApp 中禁用快速失败保护

python - Azure 表存储 Python SDK,语法无效

visual-studio - 有人离开公司时的 Visual Studio Team Services

Azure Sendgrid 丢失了

azure - 使用 DocumentDB(客户端库)在本地测试 Azure Functions,并针对 1.13.2 到 1.17.0 接收 'Invalid API version'

iphone - 在应用程序(全屏)模式下使用 iPhone HTML5 进行 Azure 移动 Facebook 身份验证

node.js - Azure函数: NodeJS - HTTP Response Renders as XML rather than HTML

bash - 如何从/dev/tcp 捕获 Bash 中的错误?

c++ - cpp socket - TCP 传输(使用相同的端口发送和接收)