我想要创建一个nodejs Azure Service Bus客户端来读取一个主题,并且我希望我的客户端自动注册它的订阅。
因此@azure/service-bus允许与SB正常工作,但不允许创建订阅。azure-某人确实允许创建一个,也可以在公共汽车上操作。
我需要在我的nodejs应用程序中安装这两个程序吗?这两者似乎都是微软的官方软件包,但是,我想知道这两者和未来的预期用途是什么(其中一个会取代另一个吗?)
发布于 2019-08-08 05:52:29
简单地说,azure-sb是管理服务总线的旧SDK,而@azure/service-bus是新的。
这两个包有几个不同之处:
azure-sb是服务总线REST (HTTP协议)的包装器,而@azure/service-bus则使用AMQP协议与服务总线进行通信。azure-sb允许实体(队列、主题和订阅)对实体执行CRUD操作。这些特性已从@azure/service-bus中删除,因为微软通过对这些操作强制执行RBAC,将这些CRUD操作移至控制平面下。要执行这些操作,您需要使用@azure/arm-servicebus。@azure/service-bus包更适合于发送和接收消息。它还支持Websockets,以防您需要它。我需要在我的nodejs应用程序中安装这两个程序吗?这两者似乎都是微软的官方软件包,但是,我想知道这两者和未来的预期用途是什么(其中一个会取代另一个吗?)
考虑到你的要求,我的回答是肯定的。这两个包你都需要。我不确定这会不会引起什么问题。在我们的项目中,我们最终直接为实体上的CRUD操作实现REST (而不是使用azure-sb包),并使用@azure/service-bus处理消息。
关于@azure/service-bus最终将取代azure-sb包,我将纯粹猜测,但我不认为这将在短期内发生。为此,服务总线团队必须首先删除REST,这似乎是非常不可能的,但是微软正在实体级别上大力推动RBAC,所以如果您要开始新的工作,我建议您使用@azure/arm-servicebus和@azure/service-bus。
https://stackoverflow.com/questions/57403123
复制相似问题