问题标签 [azure-servicebus-subscriptions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
118 浏览

azure - 如何在 Azure 服务总线中管理主题和事件/消息的发布?

最初我以为您可以将主题视为微服务。例如,您可能有以下主题:

  • 订单主题
  • 发票主题

当一个应用程序发布一个“事件”ProductOrderedEvent时,所有对此事件感兴趣的主题都可以订阅它。所以它看起来像这样:

  • 订单主题
    • ProductOrderedEvent
    • 其他事件
  • 发票主题
    • ProductOrderedEvent
    • SomeOtherInvoiceEvent
    • 等等

但是当我尝试发布一个事件(或者消息)时,我必须明确地命名我想要将事件发布到的主题。所以我想我对“主题”一词的看法是错误的。

我只是想按上下文按代码分组。关于产品的一切都应该存在于 中ProductsTopic,关于订单的一切都应该存在于OrdersTopicetc中。

但我不想在我的代码中明确命名每个主题。我只想发布一个事件,对此事件感兴趣的任何主题的订阅者应该能够选择这个事件。

是否可以将事件/消息发布到简单的所有主题而不明确命名它们?或者我应该简单地将我的主题命名为“MyOrganizationName”并将所有订阅者都放在那里?

0 投票
1 回答
222 浏览

azure - 如何在 Azure 服务总线诊断日志上记录订阅自动删除事件?

我们有一个ASP.NET core 2.2使用 Azure 服务总线主题和订阅的应用程序。

我们在订阅上配置了空闲时自动删除功能。在几分钟的空闲时间后,Azure 基础结构会自动删除10订阅。

我们已在 Azure 门户上为我们的服务总线命名空间启用诊断日志,如此所述。我们已经验证我们实际上是在收集日志,并且能够从 Azure 门户中看到它们。到目前为止,一切都很好。

我们的问题是我们无法在收集的日志中找到在配置的空闲时间后自动删除订阅。根据这个文档,我们希望看到一个EventName_s带有 value的日志条目AutoDelete Delete Subscription,但我们没有。我们确信在我们的测试期间,配置的空闲时自动删除规则至少删除了一个订阅。

如文档中所述,是否实际记录了订阅自动删除事件?

从服务总线诊断日志中实际查看订阅自动删除事件是否需要任何配置?

0 投票
1 回答
39 浏览

azure - 如何在 ServiceBus ManagementClient CreateSubscriptionAsync 上设置 TTL

当我按如下方式创建订阅时,TTL 默认为 10675199 天

如何从代码中设置?

0 投票
1 回答
278 浏览

azure - 如何连续收听 Azure 服务总线主题?

我正在使用 Flask 运行服务,当在主题上发布消息时,需要触发一些代码。我不确定如何创建订阅名称以及所有这些,但我想我可以破解它。我真正不知道的是如何不断地收听这个主题并启动过滤器,以便每当满足符合条件的消息时,它总是被触发。有什么地方可以引导我吗?

0 投票
2 回答
1201 浏览

azure - Azure 逻辑应用 - 服务总线触发器仅在轮询重复时触发

我有一个 Azure 服务总线命名空间,包含 8 个主题,每个主题至少有一个订阅。

通常有两个逻辑应用,第一个每半小时(在 15 点和 45 点)从我们的数据库中提取数据并将其放置到选择的服务总线主题上,第二个使用“收到消息时触发”在主题订阅中(自动完成)”触发连接器 - 具有默认并发设置 (25)。一个例子如下所示

如标题中所述,我遇到的问题是触发器仅在 30 分钟轮询重复时触发,如下所示,而不是在消息进入服务总线时触发(与我们也使用的常见数据服务触发器不同在创建/更新/删除时立即触发)。这是设计使然还是我设置错误?

逻辑应用运行 - 服务总线触发器

另一个问题是并发设置实际上只允许 25 个通过,并将其余部分保留在服务总线中直到下一次运行,因此我们不得不在处理之间等待很长时间。我认为并发设置的重点是让逻辑应用程序运行在队列中等待,然后当一个完成时另一个可以启动。正如您在我上面粘贴的图片中看到的那样,这并没有发生。3.45 运行从数据库中提取了 43 条记录。只有 25 个在 4.00 触发,还有 17 个留在服务总线上,直到下一次在 4.30 运行。如果我们发送大量数据,这有可能成为一个巨大的瓶颈。

服务总线设置也在下面,如果任何人都感兴趣的话:

提前致谢

0 投票
1 回答
149 浏览

azure - 将多个值传递给 Azure 服务总线主题订阅操作规则

我需要找到一种方法将几个自定义操作添加到 Azure 服务总线主题订阅规则 SQL 操作。

Azure CLI 只允许一个 - 即将到来的将替换现有的(无论如何,我还没有找到传递多个参数的方法):

--action-sql-expression "set CustomProp1 = 'AAA'","set customProp2 = 'BBB'"导致的格式

看起来不支持多个值。

官方 文档也有点没用。

试图找到一种使用 ARM 模板的方法(如此处所述),但不确定是否也可以使用它传递多个值:

是官方 ARM 模板文档的参考,我不确定此参数是否支持多个值。

我有点困惑。

谢谢。

0 投票
1 回答
79 浏览

azure - Azure 服务总线主题上的非持久 JMS 订阅

我正在尝试使用 JMS 在 Azure 服务总线上创建非持久主题订阅。此功能最近可用于高级服务总线层。

我正在使用 Spring Boot 和 Spring JMS,并使用@JmsListener. 我设法使用 Azure 库来完成这项工作,但 Spring 等效项不起作用。

如果我使用azure-servicebus-jms依赖项并在下面的示例中设置我的监听器,ServiceBusJmsConnectionFactory它会工作并动态创建对主题的非持久、非共享订阅(我想要的):

工作示例ServiceBusJmsConnectionFactory

为了与 ActiveMQ 等其他消息代理具有互操作性,我想使用JmsConnectionFactory.ServiceBusJmsConnectionFactory

所以我只connectionfactory像这样改变我的豆子

其余代码保持不变。但这不再起作用了。服务总线返回以下错误:

我知道连接本身不是问题,因为我可以使用此连接工厂在主题中发布。我想知道是否必须使用服务总线连接工厂或者是否有解决方案。

0 投票
2 回答
710 浏览

azure - 如何将消息发送到 Azure 服务总线主题(使用订阅)逻辑应用发送消息连接器?

我有一个带有两个订阅的Azure 服务总线主题。我想使用发送消息连接器从逻辑应用向主题发送消息。如何将消息发送到特定订阅。现在它只需要主题名称并且没有属性来接受订阅名称,我该如何实现它。

提前致谢。

0 投票
1 回答
923 浏览

azure - 如何根据字典键筛选 Azure Servicebus 主题订阅

我有一个 Azure Servicebus 主题和多个订阅。消息将以字典类型发布。基于字典键,我将能够过滤消息。所有示例均基于层次结构https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-messaging-sql-filter#property_name显示。这是有效负载,我想根据字典键进行过滤,即 DataReady、Datapending、Dataprocessed。

0 投票
1 回答
67 浏览

.net-core - MassTransit Azure 服务总线:属性(主题/订阅)的更改未在 Azure 上更新

我们将 MassTransit 与 Azure 服务总线一起使用,我们面临以下问题:

将订阅的属性(例如 MaxDeliveryCount)从 10 更改为 15 时:

... Azure 中现有订阅的属性值未更改。

当主题已经存在时,更改主题属性也是如此。

这是“设计使然”还是错误?

如果这是“设计”,如何处理?

我们正在通过脚本 (IaC) 创建 Azure 服务总线命名空间,并让 MassTransit 创建我们的主题和订阅。

谢谢你的帮助。

亲切的问候,彼得