问题标签 [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 投票
2 回答
614 浏览

c# - Azure 服务总线 - 只有一个订阅者接收消息

注意:根据我收到的回复,Azure Service Bus 似乎不是这项工作的正确工具。我把这个问题留在这里,以防它对其他人有用。


我想设置一种情况,即我有一个发布消息的应用程序和多个接收消息的应用程序。据我所知,Azure 服务总线主题就是为此而设计的。这个问题的公认答案说的是同样的事情。

我一直在按照快速入门示例生成两个控制台应用程序,一个用于发送消息,一个用于接收消息。当我只有一个接收器应用程序实例正在运行时,这很好用,但如果我启动两个接收器实例,则只有一个实例会收到任何消息。

我尝试CompleteAsync在接收消息的代码中删除对的调用,但这没有任何区别。

我使用的代码与那篇文章中显示的完全一样,所以在这里发布它没有意义。

我确定我只是误解了一些基本的东西,但我认为这个想法是主题和订阅允许您拥有任意数量的接收者。

谁能解释我做错了什么?

0 投票
2 回答
418 浏览

azure-resource-manager - 在 Azure 服务总线订阅 SqlFilter 表达式中使用参数

我正在使用 ARM 模板尝试部署对 Azure 服务总线主题的订阅,该主题根据 To 系统属性过滤消息。我想从 ARM 模板参数中提取过滤器的值,但我似乎无法获取模板来解析 SqlExpression 中的参数。

下面是我一直在搞乱的模板。我想我可能只是切换 requiresPreprocessing 开关以使其解决部署时的参数,但没有骰子。我还尝试使用方括号或冒号对其进行转义,如下面的链接所示

https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-messaging-sql-filter#propertyname

我得到的是与 sqlExpression 中显示的字符串完全相同的字符串,但我想在单引号字符串中获取变量解析为的值。

0 投票
2 回答
2551 浏览

c# - Azure 服务总线消息锁未更新?

我构建了一个服务来支持 Azure 服务总线中的多个队列订阅,但我遇到了一些奇怪的行为。

我的订阅单例类有一个如下所示的方法:

这个想法是,您订阅 Azure 服务总线以获取特定类型的消息,并且直接对应于队列。在您的订阅中,您传入一个委托以了解如何处理消息。

这似乎工作......有一个警告。

无论我为任何给定消息在长时间运行的进程中ttlMaxAutoRenewDurationOperationTimeout

我的理解是,这正是MaxAutoRenewDuration应该阻止的……但它似乎并没有阻止任何事情。

谁能告诉我我需要做些什么来确保消费者拥有消息直到完成?

0 投票
0 回答
70 浏览

logging - 查找 Azure Servicebus Rogue Subscription Consumer

我在我们的开发环境中遇到了一个非常奇怪的问题。我们的一些开发人员创建了一些工作人员来测试连接到使用传入事件的 azure servicebus 主题订阅的代码。

但是,在清理完 Playground 中的所有服务(它是 AKS 集群上 kubernetes 中的 pod)之后,似乎仍有一些进程在监听订阅并消耗传入事件。

我已经验证了所有 pod 都消失了,甚至排空了节点以确保没有幽灵 pod 仍然存在。

老实说,我认为更容易找到消耗订阅的流氓进程,所以我去门户网站检查是否有一些日志可能带有源 ip,这样我就可以查明消耗过程。不幸的是,没有这样的事情(我找不到对我有帮助的东西)。

当然,我可以简单地重命名订阅,但指标仍会显示对服务总线的传入请求。

任何人都知道我可以查明连接到 azure servicebus 主题订阅的服务源 IP 的方法吗?

0 投票
1 回答
2786 浏览

azure-functions - Azure 服务总线功能。批量接收消息

我想以批处理模式接收来自 Azure ServiceBus 主题的消息。

阅读https://docs.microsoft.com/en-us/azure/azure-functions/functions-best-practices它指出:

对于 C# 函数,您可以将类型更改为强类型数组。例如,方法签名可以是 EventData[] sensorEvent,而不是 EventData sensorEvent。

我有一个方法:

此方法有效,但当时需要 1 条消息。

根据 Microsoft 文档,我可以将其更改为:

并将以下内容添加到 host.json 文件 ( https://docs.microsoft.com/en-us/azure/azure-functions/functions-host-json ):

但是运行该函数,我得到一个异常:

mscorlib:执行函数时出现异常:MyFunction。Microsoft.Azure.WebJobs.Host:异常绑定参数“消息”。System.Runtime.Serialization:反序列化 System.String[] 类型的对象时出错。输入源的格式不正确。System.Runtime.Serialization:输入源的格式不正确。

注意:主题和订阅启用了“启用批量操作”设置。

我在这里想念什么?

0 投票
1 回答
280 浏览

azure - 如何一次使用多个订阅者从主题中读取消息?

我正在研究 Azure ServiceBus 主题订阅。我在服务总线命名空间中创建了一个主题和两个订阅。在我当前的应用程序中,我可以在使用订阅者接收消息之后向主题发送消息。

但是,每当一个订阅者从主题中读取消息时,这些消息就会进入死信队列。这就是为什么第二个订阅者将无法从主题中读取消息的原因。

我在处理来自主题的消息后在我的代码中写了这一行

我按照这个文档来实现上述场景。

那么,任何人都可以建议我如何一次使用多个订阅者从主题中读取消息。

0 投票
1 回答
127 浏览

azure - 将 action-sql-expression 传递给主题订阅

我想对订阅执行 action-sql-expression 命令。我有这个:

但我收到此错误:

如何传递 action-sql-expression 的参数?

0 投票
1 回答
683 浏览

azure - Azure 服务总线订阅客户端轮询间隔

我设法编写了一个小型控制台应用程序来连接到 Azure 服务总线中的主题/订阅。我已向订阅发送消息并注册了一个消息处理程序。我看到消息处理程序每​​ 60 秒轮询一次。例如,是否有将此轮询间隔延长至 30 或 60 分钟?

问候,西蒙

0 投票
1 回答
656 浏览

azure - 使用 Azure 服务总线对队列和主题/订阅进行消息排序传递

我对队列和主题是否默认支持消息排序传递感到困惑。

它在下面说队列支持FIFO消息传递。我认为这与消息订购传递相同。

队列向一个或多个竞争消费者提供先进先出 (FIFO) 消息传递。 https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-queues-topics-subscriptions

但是,为什么需要启用会话,如下面的屏幕截图所示。

要在服务总线中实现 FIFO 保证,请使用 Sessions。

https://docs.microsoft.com/en-us/azure/service-bus-messaging/message-sessions

在此处输入图像描述

主题和订阅

主题和订阅的 FIFO 怎么样?

更新

我的问题是:

队列和主题/订阅是否默认支持消息排序传递 (FIFO),而不使用 Sessons?如果我没记错的话,像 RabbitMQ 这样的其他代理默认支持这个。

我是否正确,如果我想要队列中的所有消息都使用 FIFO,即使我不需要有序消息的会话,我需要启用会话?

例如:

队列中带有排序的所有消息:我需要在不启用会话的情况下保留所有消息排序:

有序消息的会话:我不想启用会话

即使我不想要消息会话,启用会话只是为了保留消息排序的要求是否繁琐?

0 投票
1 回答
1252 浏览

azureservicebus - 将 Rebus 与 Azure 服务总线、队列和主题一起使用的代码示例

我是新手Rebus,我正在寻找Rebus与和一起使用Azure Service Bus的代码示例。QueueTopic

我无法从下面的链接中看到它: https ://github.com/rebus-org/RebusSamples

更新

开始:队列和主题配置的 Azure 服务总线的入队和出队消息示例。

理想情况下,尽可能覆盖 Azure 服务总线的更多区域。