javascript - 可以通过浏览器和 websockets 连接到 azure 事件中心吗?

标签 javascript node.js azure websocket azure-eventhub

我正在尝试实现一个基于 Web 的聊天程序,我的计划是使用聊天消息更新 azure cosmos 数据库,然后将事件推送到 azure 事件中心。

缺少的元素用于连接的网络浏览器接收这些事件。

我尝试使用 azure 事件中心 npm 包 ( https://www.npmjs.com/package/@azure/event-hubs ),但这看起来像是服务器端的。

有没有一种方法可以实现这一点,而无需启动某种服务器或服务?

最佳答案

听起来你想通过带有websocket的浏览器直接连接EventHub,据我所知,实现它的唯一方法是使用AMQP over WebSocket来连接EventHub。

有一个MSDN博客介绍了这个主题Connect to Azure Event Hub in browser ( using AMQP over WebSockets ) ,以及同一作者的另一个博客介绍How to use AMQP protocol in Browser (JavaScript) 。您可以从其 GitHub 存储库 https://github.com/amqp/rhea/tree/master/dist 获取 rhea.js

同时,根据@azure/event-hubs的源码信息,浏览器似乎支持AMQP over WebSocket的特性,如下图来自源码https://github.com/Azure/azure-sdk-for-js/blob/master/sdk/eventhub/event-hubs/src/impl/eventHubClient.ts#L259 .

enter image description here

并且有一个示例代码websockets.ts对于 EventHubs,它需要 package.json 中的 @azure/event-hubs 版本 next 。我想你只需要使用 WebSocket在浏览器中而不是示例中的 import WebSocket from "ws"; 中的 WebSocket ,那么您就可以使其在浏览器中工作。

关于javascript - 可以通过浏览器和 websockets 连接到 azure 事件中心吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59488578/

相关文章:

Node.js 获取 Twitter Streaming API - EADDRNOTAVAIL

powershell - 在 PowerShell 中获取 Azure Active Directory 密码到期日期

Azure Function 和永久进程

javascript - 使用本地存储将数组中的数据字符串化

javascript - 在不调用函数的情况下分配具有自定义参数的函数

javascript - 如何在 Vuex 的 Action 中调用 Action

Javascript : eliminate array element with two array

javascript - 无法在简单的node.js应用程序中找到模块mongodb

azure - 在 .net Core 中使用 Redis 进行作业和消息队列

javascript - 与 mongoDB(和 Mongoose )的 promise 链接。如果已发送响应,如何在 .then() 之后使用 .save() 并正确突破 promise 链?