[英]How do I create a new subscription in a service bus topic with nodejs?
我想从我的后端 nodejs 解决方案创建一个新订阅
我跟着这个https://docs.microsoft.com/en-us/rest/api/servicebus/create-subscription
但我无法完成它我不明白这个 REST API 是如何工作的,我想我错过了授权。
在 postman 中:
PUT https://management.core.windows.net/{订阅ID}/services/ServiceBus/Namespaces/Topics/Subscriptions/{订阅名称}
返回: ForbiddenError
服务器未能验证请求。 验证证书是否有效并且与此订阅相关联。
@azure/service-bus
的最新版本 7.0.0 提供了ServiceBusAdministrationClient
,可让您管理服务总线资源。
对于本题中的问题,您可以利用ServiceBusAdministrationClient.createSubscription
方法为主题创建订阅。 @azure/arm-service-bus
库中也有类似的方法。
这是使用ServiceBusAdministrationClient
的示例 - AdministrationClient.ts
有关版本 7.0.0 @azure/service-bus
的更多信息,请参阅下面的链接。
最简单的方法是使用@azure/service-bus:
https://www.npmjs.com/package/@azure/service-bus
节点JS
const { ServiceBusAdministrationClient } = require('@azure/service-bus');
// Define connection string and related Service Bus entity names here
const connectionString =
'Endpoint=sb://<REST OF CONNECTION STRING>';
const topicName = 'yourTopic',
const subscriptionName = 'yourNewSubscription'
const serviceBusAdministrationClient = new ServiceBusAdministrationClient(connectionString);
serviceBusAdministrationClient.createSubscription('yourTopic', 'yourNewSubscription').catch((err) => {
console.log(err);
});
如果要创建过滤器。 带相关过滤器的前:
serviceBusAdministrationClient.createRule(
'yourTopic',
'yourNewSubscription',
'CorrelationFilter', //this is the name of the filter
{ correlationId: 'aCorrelationId' }
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.