问题标签 [azure-servicebus-topics]

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 回答
1025 浏览

azure - 仅接收有关主题的最后一条消息

我在Azure Servicebus主题上订阅了一个应用程序,该应用程序不断接收来自流分析的消息。但是这个应用程序并不是每次都订阅这个Topic。当应用程序进行订阅时,我如何只收到来自主题的最后一条消息?

0 投票
2 回答
1751 浏览

azure - Azure WebJobs SDK:不在特定的 ServiceBus 触发函数上调用 message.complete()

我有以下形式的服务总线触发功能:

我的用例是这个函数只是从一个主题中获取消息并将它们推送到另一个主题。我不想在此过程中从源主题中删除消息。

这有可能实现吗?

此外,我在哪里可以找到有关AccessRights以及它们如何影响消息访问的更多信息。例如:在上面的示例中,我使用AccessRights.Listen从输入主题获取消息,但是一旦对这些消息进行函数调用,它似乎仍然在“删除”消息。

0 投票
1 回答
993 浏览

azure - “请求的性能计数器不是自定义计数器,..”使用 Azure ServiceBus TopicClient 时

当我尝试使用TopicClientnuget 包发送简单消息时收到以下异常消息WindowsAzure.ServiceBus

“请求的性能计数器不是自定义计数器,它必须初始化为只读。”

这是我的代码:

调用时出现异常SendBatchAsync

在发送或收听 Azure ServiceBus 时发现了这个问题,它在问同样的事情。但该决议与我无关。

我已经安装了这个 nuget 包WindowsAzure.ServiceBus.PerformanceCounters(并执行了附加的 cmd 文件),希望它能解决问题,但它仍然无法正常工作。

有谁知道如何解决这个问题?

当我尝试使用SubscriptionClient. 我以管理员身份运行 VS。

0 投票
1 回答
1755 浏览

azure - Azure Functions:是否可以订阅多个主题?

这是我的functions.json:

是否可以为同一个功能订阅多个主题?

干杯。

0 投票
0 回答
676 浏览

azure - Azure ServiceBus 主题以静默方式无法传递到订阅

我在使用 Azure 服务总线实例时遇到了一个非常令人沮丧的问题。具体来说,我设置了一个名为“commands”的主题,一段时间后,它将停止正确地将消息代理到其订阅。我观察到以下行为使我处于目前的困惑状态:

  1. 这只会在主题存在一段时间后才会发生,通常是一夜之间。晚上一切都会正常工作,但是当我早上回来时,主题已经停止运作,唯一的解决方案似乎是删除并重新创建它。

  2. 如下图所示,主题似乎正在接收消息,因为我在发送后没有收到任何异常,并且主题的“活动消息计数”和“字节大小”属性确实增加了。它只是不将消息发送到订阅:在此处输入图像描述

  3. 我认为也许我订阅的过滤器把事情搞砸了,所以为了测试这一点,我删除了这些订阅,并通过资源管理器使用默认过滤器创建了一个新订阅。完成此操作后,我通过主题发送了一些新消息,但新订阅仍未收到它们。

  4. 我在服务总线上运行了其他主题(例如上图中的“事件”),但它们似乎没有表现出相同的行为。它们以相同的方式配置,但运行良好。

我对任何可能导致这种奇怪行为的理论持开放态度。如果这有助于解决这个问题,我很乐意提供更多信息。

代码块:

创建主题:

创建订阅:

向主题发送消息:

传入的主题客户端只是使用 TopicClient.CreateFromConnectionString 方法创建的。

从订阅接收消息:

传入的订阅客户端只是使用 SubscriptionClient.CreateFromConnectionString 方法创建的。

0 投票
1 回答
246 浏览

azureservicebus - Azure 服务总线主题接收带有事件驱动架构模型会话的消息

我正在使用 azure 服务总线主题。因为我有大消息,所以我将大消息拆分并以带有 sessionid 和拆分顺序的小消息发送。我希望我的接收器具有事件驱动的架构。因为我必须接收具有相同 sessionid 的所有消息,并且必须使用正确的拆分顺序聚合它们。下面是我的代码。但只是我第一次从波纹管代码中收到消息。在第二条消息中它超时。

0 投票
2 回答
496 浏览

python - Python 中的 azure.servicebus 消息 ValueError

我正在使用 Microsoft Azure 通过主题将消息发送到云中的订阅。但是遇到了 Microsoft 的 python sdk 的问题,特别是在反序列化来自云的消息时出现 ValueError。

这是我的代码

这是错误:

我走进教室看了看:

有什么想法可以解决这个问题吗?

0 投票
2 回答
1320 浏览

c# - 我应该使用一个还是多个 Azure WebJobs

我有一个将消息发布到 Azure 服务总线主题的系统。该主题有多个订阅者,我正在编写一个 webJob 来处理消息。

当我在 Visual Studio 中关心一个新的 WebJob 项目时,我得到一个名为“Functions.cs”的类,它具有检查队列的代码。我更新了代码以检查主题中的订阅:

该主题有多个订阅,我需要对其进行监控,然后对收到的每条消息执行不同的操作。这将涉及通过 API 连接到第三方服务,每个订阅都有不同的 API。

例子:

我的问题是:我应该为每个订阅编写一个单独的 WebJob 还是应该在“Functions.cs”类中添加其他方法?

我想知道如果我在同一个 WebJob 中有多个方法以及是否需要使这些方法异步,性能是否会降低。

0 投票
1 回答
242 浏览

azure - 通过服务总线资源管理器上的订阅者从存储 blob 上的主题读取消息 - C#

工作场景:

  1. 将 Msg1 发布到主题
  2. 将 Msg2 发布到主题
  3. 读取 Msg1、Msg2

不工作:

  1. 将 Msg1 发布到主题
  2. 通过订阅者从主题中读取 Msg1,但我没有标记为完成。(仍在队列中)
  3. 将 Msg2 发布到主题
  4. 读Msgs..实际:我只读Msg2 期望:想读Msg1,Msg2。

    /li>
0 投票
3 回答
731 浏览

azure - 有没有办法通过 Azure 服务总线中的代理消息来定位特定主题订阅者?

首先我的具体问题

假设我有 3 个主题订阅者,但我只想定位特定订阅者;可以这样做吗?

我想要完成的事情

收听主题的订阅者将处理消息,其中可能包括数据库访问(并且数据库可能暂时关闭)。当出现问题时,我希望能够在以后重新处理。

我知道我们可以使用 Defer() 稍后处理,但是它需要您保存消息 ID。显然,如果数据库已关闭,我无法保存在那里,所以如果我想持久保存,我必须保存到另一个数据存储区。

如果那个“其他数据存储”是服务总线,那么我似乎必须为我的每个订阅者创建主题,这似乎有点难以管理。我的计划是将失败的请求发送到主题的死信队列。计划任务将定期出现,并从每个主题的 DLQ 中取出消息并尝试处理。如果它再次失败,我想重新提交消息并增加一个“AttemptedTries”计数器,它是消息本身的一部分。如果我可以仅针对相关订阅者,我希望它不必处理没有问题的主题订阅者(如果此功能无法完成类似操作,我可能会添加过滤器或其他东西)。

在尝试 >= maxattempts 之后,我会将消息发送到一个通用的“墓地”(不是特定于主题的),程序员可以在那里决定如何处理这些消息。

这是处理它的好方法吗?ASB 是否有一些内置的?