使用 DeviceLifecycleEvents 源的 IoT 中心消息路由不起作用

2023-12-08

我已经在使用 IoT 中心并配置了消息路由来路由TwinChangeEvents到事件中心。一个 Azure 函数EventHubTrigger处理消息。这工作得很好。

现在,我想配置消息路由来路由DeviceLifecycleEvents到另一个事件中心。同样,另一个 Azure 函数具有EventHubTrigger应该处理消息。

但是,当我连接或断开设备时,该功能不会触发。 当我将消息路由的数据源更改为TwinChangeEvents,该函数按预期触发(当然有错误的消息)。也就是说,我非常有信心我的事件中心和函数的配置是正确的。

另外,我尝试在 IoT 中心中配置事件订阅,以将生命周期事件发送到事件中心。我认为此选项使用事件网格。无论如何,此配置会按预期触发该函数。仅当对生命周期事件使用消息路由时才会出现此问题。

谁能指出我为什么消息路由不起作用的解决方案?我是否缺少 IoT 中心中的配置?


不幸的是,事件中心不支持设备连接和断开连接事件。 Microsoft 支持人员也证实了这一点。以下是我从他们那里得到的答复:-

IoT 设备生命周期事件仅为设备创建和删除事件而设计。根据描述,您希望 IoT 中心触发事件中心的以下事件: 设备已创建 设备已删除 设备已连接 设备已断开 根据此要求,您应该使用事件网格创建新的事件订阅,而不是使用设备生命周期事件配置 IoThub 消息路由:数据源。请前往IoT Hub,通过以下路径创建新的事件订阅:IoT Hub->事件->+事件订阅

最终,我为所有设备生命周期事件创建了一个事件订阅,并将它们路由到我的自定义事件中心端点。我认为如果您只想订阅事件中心而不订阅事件网格,您也可以这样做。

编辑:- 消息路由现在支持Device connection state events. 非遥测事件由事件中心消息路由支持。

最后,如果创建的路由的数据源设置为设备 连接状态事件,IoT 中心发送一条消息指示是否 设备已连接或断开。

enter image description here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 DeviceLifecycleEvents 源的 IoT 中心消息路由不起作用 的相关文章

随机推荐

  • 将 TensorBoard 2 中的 2 个图与 TensorFlow 2 合并

    我想使用 Tensorflow 和 Tensorboard V2 将精度和召回率合并到同一个图上 我找到了许多以前版本的示例 但没有一个适用于我的情况 我创建了一个 Keras 回调来计算精度和召回率 然后调用张量流摘要将它们记录在同一个记
  • ARKit – 在不可见平面下渲染 3D 对象

    我有一个带有隐形物体的 ARKit 场景SCNPlane plane geometry firstMaterial colorBufferWriteMask 该平面放置在地面上 用于渲染deferred shadows来自放置在场景中的其他
  • #define 变量的类型

    如果我有 define MAXLINE 5000 MAXLINE 理解为什么类型 我应该假设它是一个int 我可以以某种方式测试它吗 一般来说 如何判断某一种类型 defineed 变量 它没有类型 这是一个简单的文本替换 文本 5000
  • Terraform 远程状态 s3 存储桶创建包含在状态文件中吗?

    我正在寻找在 S3 存储桶中创建和存储状态文件的最佳实践 我应该将 S3 存储桶的创建与基础设施一起包括在内还是 为其 S3 存储桶创建一个单独的状态文件 并为资源创建一个不同的状态文件 如果它是不同的文件 我还需要存储创建的 s3 存储桶
  • Apache Spark - foreach 与 foreachPartition 何时使用 什么?

    我想知道是否foreachPartition与foreach方法考虑到我正在流过的情况RDD为了对累加器变量执行一些求和 foreach and foreachPartitions是行动 foreach 函数 单位 用于调用具有副作用的操作
  • Objective C - iOS - 在 webViewDidFinishLoad 执行过程中调用 Dealloc

    我在 ios 中遇到内存管理问题 问题是 当我将一个具有 webView 的 viewController 推送到导航堆栈时 当我在加载 webview 之前单击返回时 我得到了 exec bad access 在 A 类 中 我创建一个新
  • 获取资源文件夹中的文件列表 - iOS

    假设我的 iPhone 应用程序的 资源 文件夹中有一个名为 文档 的文件夹 有没有一种方法可以在运行时获取该文件夹中包含的所有文件的数组或某种类型的列表 所以 在代码中 它看起来像 NSMutableArray myFiles get a
  • 如何结合 SELECT DISTINCT 和 SUM()

    我在 Oracle 中有一个如下所示的表 Products Product ID Product NME Product SUP Quantity 1 Apple USA 100 2 Fish Japan 50 3 Wine Italy 1
  • 如何改变 django 模型中 unique true 的行为?

    这里我没有从数据库中删除模型对象 我只是改变is deleted删除时状态为 True 但在这样做的同时unique True对于已删除的对象给出错误 那么我该如何处理这个问题 我想排除is deleted True来自唯一 True 的对
  • TStringGrid - OnMouseUp 未被调用!

    我在 Delphi 7 中的 TStringGrid 有一个奇怪的行为 如果弹出菜单与网格关联 Delphi 不会调用 OnMouseUp 事件 基本上 当按下人民币时 菜单的弹出会以某种方式取消 延迟 OnMouseUp 实际上 为了 1
  • 如何执行存储在 varchar 变量中的数学表达式

    我的数据库函数中有一个变量 LocalVariable 2 3 100 我想通过执行另一个变量中的表达式来获得结果 有人可以建议如何执行该表达式吗 另外 我想在数据库函数中 而不是在存储过程中 执行此操作 我期望的结果是 600 DECLA
  • 为什么我的 int[] 数组循环越界?

    Warning 我对 Java 和一般编程非常陌生 我会尽量说得清楚 我正在尝试取一个简单的整数 inputnumber 将其转换为字符串 temp 创建一个新的 int 数组 numberarray 并从最后一位数字开始循环遍历这个 in
  • Gradle 3.0.0 alpha 变体输出问题

    我想要有一个不一样的versionCode for debug构建类型而不是其中的类型release构建类型 这曾经通过在 Gradle Android 插件 v2 3 2 Gradle v3 3 中使用下面的配置来工作 但现在在 v3 0
  • SQL 到实体框架计数分组

    我需要翻译这个SQL声明给一个Linq Entity询问 SELECT name count name FROM people GROUP by name 查询语法 var query from p in context People gr
  • Karate API 测试 - 在同一功能文件中的不同场景中重用变量

    Karate 是否支持这样的功能 您可以在场景中定义变量并在同一功能文件的其他场景中重用它 我尝试做同样的事情但得到一个错误 在同一特征文件中重用变量的最佳方法是什么 Scenario Get the request Id url base
  • 如何获取插入计算机的可移动驱动器的列表?

    我想获取插入计算机的可移动驱动程序的列表 我怎样才能做到这一点pywin32Python 中的模块 注意 重要的是我能够将可移动驱动器与固定驱动器分开 该算法很简单 Call MS Docs GetGetLogicalDriveString
  • WP8 SDK 导入服务参考无法进行基于任务的操作

    到目前为止 在 VS2012 中使用 生成基于任务的操作 导入服务引用似乎不起作用 它变灰了 对 WPF 新项目的测试运行良好 我可以选择基于任务的操作或异步操作 有没有一种简单的方法可以将异步调用包装在任务中 有没有一种简单的方法可以将异
  • 如何更改 Google 静态地图中的视角?

    是否可以更改 google 静态地图中的视角 就像在 Google 地图 API 中如何更改一样 这里检查 setTilt 函数 https developers google com maps documentation javascri
  • 即使应用程序终止,iOS 也会更新位置

    即使应用程序终止 我也尝试更新用户位置 我向我的 plist 添加了地图和后台模式 gt 位置更新 并设置了一个本地通知 该通知将在位置更新时触发 但它从未被解雇 我有这个AppDelegate h interface AppDelegat
  • 使用 DeviceLifecycleEvents 源的 IoT 中心消息路由不起作用

    我已经在使用 IoT 中心并配置了消息路由来路由TwinChangeEvents到事件中心 一个 Azure 函数EventHubTrigger处理消息 这工作得很好 现在 我想配置消息路由来路由DeviceLifecycleEvents到