node.js - 如何使用 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
服务器验证请求失败。验证证书是否有效并且与此订阅相关联。
解决方案
最简单的方法是使用@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' }
);
推荐阅读
- python - Selenium / Python - 在窗口中上传文件
- python - 我已经 pip 安装了 pydub 但仍然没有工作
- delphi - 将 C# 函数转换为 Delphi 函数
- javascript - CodeSandbox — 如何修复 tsserver.js 错误?
- uitableview - 在 Swift 中选择 UITableViewCell 的问题
- javascript - 从包含日期的数组中获取最近 30 天
- sparql - 如何限制 SPARQL 的 COUNT(*)
- c# - 在 .NET CORE 3.1 Web API 项目中配置 nLog 的自定义布局渲染器
- javascript - 如果元素已更改,如何创建替换元素的功能
- php - 计算从 codeigniter 中的 foreach 生成的表支付的总金额