【问题标题】:How do I create a new subscription in a service bus topic with nodejs?如何使用 nodejs 在服务总线主题中创建新订阅?
【发布时间】:2021-03-20 09:41:42
【问题描述】:

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

我关注了这个https://docs.microsoft.com/en-us/rest/api/servicebus/create-subscription

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

在邮递员中:

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

返回: ForbiddenError 服务器未能对请求进行身份验证。验证证书是否有效并且与此订阅相关联。

【问题讨论】:

  • 随请求一起发送的标头是什么?
  • @YashKumarVerma Content-Type:application/xml 命名空间:https://{namespace}.servicebus.windows.net/{topic} x-ms-version:2012-03-01
  • 你可以使用包@azure/arm-servicebus来创建它:npmjs.com/package/@azure/arm-servicebus
  • @FaisalTaibi 你有什么更新吗?
  • 我花了很长时间才找到documentation on this

标签: node.js azure azureservicebus azure-servicebus-topics


【解决方案1】:

最简单的方法是使用@azure/service-bus:

https://www.npmjs.com/package/@azure/service-bus

NodeJS

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' }
  );

【讨论】:

    【解决方案2】:

    @azure/service-bus 的最新版本 7.0.0 提供了ServiceBusAdministrationClient,可让您管理服务总线资源。

    对于本题的问题,您可以利用ServiceBusAdministrationClient.createSubscription 方法为某个主题创建订阅。 @azure/arm-service-bus 库中也有类似的方法。

    这是一个使用 ServiceBusAdministrationClient - administrationClient.ts 的示例

    有关版本 7.0.0 @azure/service-bus 的更多信息,请参阅下面的链接。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-02-12
      • 2023-03-09
      • 1970-01-01
      • 2018-08-27
      • 2016-02-10
      • 2016-12-29
      • 1970-01-01
      相关资源
      最近更新 更多