首页 > 解决方案 > 如何使用 nodejs 在服务总线主题中创建新订阅?

问题描述

我想从我的后端 nodejs 解决方案创建一个新订阅

我跟着这个https://docs.microsoft.com/en-us/rest/api/servicebus/create-subscription

但我无法完成它我不明白这个 REST API 是如何工作的,我认为我错过了授权。

在邮递员中:

PUT https://management.core.windows.net/ {订阅 ID}/services/ServiceBus/Namespaces/Topics/Subscriptions/{订阅名称}

返回: ForbiddenError 服务器验证请求失败。验证证书是否有效并且与此订阅相关联。

标签: node.jsazureazureservicebusazure-servicebus-topics

解决方案


最简单的方法是使用@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' }
  );

推荐阅读