问题标签 [azure-eventhub]

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

azure - Azure IoT 中心 - 使用多个 EventHubReceiver 从不同设备接收事件


我尝试使用“EventHubReceiver”(Device2Cloud)从设备接收消息。每个设备都应该有自己的单个接收器。

为所有设备创建一个 EventHubReceiver(每个分区)不是问题:

然后,如果我想从客户端接收消息,请执行以下步骤:

这很好,但是来自所有“设备”的所有消息都到达了这个“EventHubReceiver”。我想要多个接收器,只接收来自单个设备的消息。
我尝试更改以下代码行:

但这行不通。我收到以下错误:

所以问题是我不知道是不是不可能为每个设备创建一个'devices/secondDevice/messages/events/$management'
EventHubReceiver'devices/secondDevice/messages/events/'
或者我的代码或思维有错误。

0 投票
2 回答
20995 浏览

azure - Azure 事件中心消息存储在哪里?

我使用这个RedDog工具生成了一个 SAS 签名,并使用事件中心 API refs成功地向事件中心发送了一条消息。我知道它是成功的,因为我从端点收到了 201 Created 响应。

这个微小的成功带来了一个我无法找到答案的问题:

我去了天蓝色的门户,在任何地方都看不到我创建的消息。进一步阅读发现我需要创建一个存储帐户;我偶然发现了一些需要存储帐户凭据等的 C# 示例(EventProcessorHost)。

问题是,我可以使用任何 API 来保存数据吗?我不想使用 C# 工具。

如果我的方法有误,请纠正我,但我的目标是能够将遥测数据发布到 EventHub,保存数据并对其执行一些分析操作。遥测数据应该可以在 Azure 上查看。

0 投票
0 回答
190 浏览

c# - 无法将消息从事件中心处理器发送到 SignalR 服务总线背板

我将 SignalR 与服务总线背板一起使用。试图从不是网络服务器的东西发起消息。(事件中心处理器)

以下代码在 C# 命令行应用程序中运行良好。

但是当添加到事件处理器代码中时,它会默默地不发送数据。我的问题是,如何将其设置为在事件中心处理器中工作。

我目前正在通过向网站发送 Web 请求来解决此问题,然后该网站会广播该消息。

谢谢。

0 投票
3 回答
635 浏览

azure - Azure 事件中心 SAS 令牌未过期

我创建了一个 Azure 事件中心 SAS 令牌,例如

然后是 .NET SDK 的连接字符串:-

但是,即使 5 秒过去了,我仍然可以使用令牌发送数据。

0 投票
3 回答
5150 浏览

azure - 如何设置 EventProcessorHost 从现在开始读取事件(UTC)?

我们使用 EventProcessorHost 从 Azure EventHubs 接收事件。我一直未能成功地尝试将它配置(通过 EventProcessorOptions.InitialOffsetProvider)从 UTC 现在读取事件,但它总是从提要的开头读取。我没有保存检查点(我什至删除了创建的 BLOB 容器)。这就是我设置它的方式:

任何指导将不胜感激。

0 投票
1 回答
1230 浏览

azure - 将事件路由到 eventthub EventProcessor

我有不同类型的事件。例如,有些数据是遥测数据,有些是错误信息等。

我认为创建多个 IEventProcessor 实现是一个好主意,每个事件类型一个。所以每个实现都会以不同的方式处理事件。就像写入文件或数据库一样。

将事件路由到特定 EventProcessor 的最佳方式是什么?

  • 我应该让 EventProcessor 监视特定的分区键吗?如果是,如何?
  • 我应该使用允许我指定消费者组名称的 EventProcessorHost 的构造函数吗?如果是这样,我如何使用 EventHubClient 发送到特定的消费者组?我没有看到在那里指定消费者组的选项。
  • 我是否应该不执行上述任何操作,只检查特定属性的传入事件数据,而忽略我不感兴趣的那些?

我必须说,我发现 partitionkey 和 consumergroup(如果有的话)之间的关系记录得很差。

我使用了选项 2,但到目前为止,每个 EventProcessor 都从所有消费者组名称中获取消息,而不仅仅是在 EventProcessorHost 构造函数中指定的那个。

0 投票
2 回答
1025 浏览

azure - 如何通过代码从 Azure Blob 存储中删除事件中心分区?

我在 C# Winforms 项目中使用 Azure 事件中心。

我创建 EventProcessorHost 和 EventReciever 对象来执行从事件中心检索消息并显示它们的工作。

我的消息检索过程的一部分涉及在我的表单打开时在我的事件中心上创建一个新的消费者组。(我只是让消费者组名称成为一个新的 GUID)。

所有这些^都有效。

当表单关闭时,消费者组将从事件中心中删除,并通过门户查看事件中心来验证这一点。

但是,消费者组用于执行事件中心工作的分区对象仍然存在于存储帐户中。

通过 CloudBerry 资源管理器时,我看到:

在此处输入图像描述

其中每个 GUID 都是一个消费者组。在我开发的最后几个月里,这里有数百个,但一个事件中心一次只能包含 20 个活跃的消费者组。

每个消费者组文件夹中有 4 个文件,其中包含与该消费者组使用的 4 个分区中的每一个有关的信息。

是否有对事件中心对象(EventReceiver、EventProcessorHost 等)的 API 调用可以自动为我清理这些对象?我看过但没有找到任何东西,事件中心的文档目前很少。

我查看了 EventProcessorHost.PartitionManagerOptions.SkipBlobContainerCreation = true 但这没有帮助。

如果没有,是否需要设置存储帐户以避免这种垃圾堆积?

谢谢!

0 投票
3 回答
4310 浏览

azure - 监视 Azure 事件中心

我一直在研究Microsoft Azure Event Hubs。我的目标是找出一种提供自动可伸缩性的方法。这是一项实验性工作,我真的只是想知道我可以用 Azure 事件中心做什么。我无权访问 Azure 平台来测试任何东西:(。

好吧,到目前为止,我发现通过 REST API 和 Service Bus Powershell 我可以添加吞吐量单元(以提高性能 - 我依靠这个:Scale Azure Service Bus through Powershell or API)并增加或减少事件的到期时间(这可能影响能力 - https://msdn.microsoft.com/en-us/library/azure/dn790675.aspx)。

问题是,假设以前的技术有效并且我能够自动扩展事件中心的性能,我仍然需要一种方法来知道何时触发可扩展性机制。要知道何时以及如何触发可伸缩性,我需要处理一些依赖事件中心指标(或监控它的方法)的功能。问题是我真的找不到任何指标。我发现的唯一一件事是:https ://azure.microsoft.com/en-us/documentation/articles/cloud-services-how-to-monitor/ - 这实际上并不能解决我的问题,因为虽然它可能存在一些有趣的指标,它不符合我的“应用程序”的目的(如果我能证明我可以成功地自动扩展 Azure);Azure 服务总线统计/监控- 链接不起作用。

当然,我可以找到有关 Service Bus Explorer 的更多信息,并且肯定它可能会提供一些关于事件中心指标的有趣见解,我只是想知道是否有这样的东西:https ://github.com/HBOCodeLabs/incubator-storm/ blob/master/STORM-UI-REST-API.md 允许我访问某种指标,而不是创建自己的指标

提前致谢最好的问候

0 投票
0 回答
340 浏览

android - android 中的 Azure 事件中心接收器

我想使用 Azure 事件中心在我的 android 应用程序中实现推送通知功能。作为一个新手,我不太清楚如何继续它。

我使用 Raspberry Pi 作为发件人(Azure 事件中心发件人),它按预期工作。为了接收从 Raspberry Pi 发送的消息,我希望我的 Android 设备能够处理它(作为 Azure 事件中心接收器)。

我遇到了广播接收器的概念,我认为可以在这里使用。需要输入是否我在正确的轨道上,如果提供一些示例,将不胜感激。

请提出实现此目标的最佳方法。

将事件从 Raspberry Pi 发送到 Azure 事件中心的代码:

我参考了这些链接以在 .net 控制台应用程序中实现发送者和接收者,该应用程序按预期工作。需要在 Android 中实现相同的功能。

https://azure.microsoft.com/en-in/documentation/articles/event-hubs-csharp-ephcs-getstarted/

我还可以使用 Azue Python SDK ( https://pypi.python.org/pypi/azure-servicebus/0.20.1 )实现发件人

0 投票
2 回答
227 浏览

java - 为什么我的事件中心 Java 生产者没有捕获事件中心的 ServerBusy 异常?

我正在尝试通过具有 10 个分区和 10 个吞吐量单元的事件中心发送 100 万条小消息。

为此,我正在使用 javax.jms.MessageProducer 。

我的问题是:虽然我确实在 Azure 事件中心 UI 上看到了错误,但为什么我从来没有捕获过 ServerBusy(或任何其他)异常?会不会是 java 库已经处理了异常,包括可能重新发送消息,而根本没有将其暴露在外面?

而且,一般来说,Java 生产者中 ServerBusy 错误处理的最佳实践是什么?(也许实现一个速率限制器,以便生产者每个 TU 发送的消息始终不超过 1000 条?或者在捕获 ServerBusy 异常时实现重新发送策略?...)