我即将编写Azure解决方案的部署脚本.出于这个原因,我使用资源管理器模板创建了一个Azure IoTHub.这非常有效.但问题是,我需要与 Event Hub兼容的端点字符串进行进一步部署.
请参阅:https://picload.org/image/rrdopcia/untitled.png
我认为,解决方案是,在模板中输出它,但我不能让它工作.
我的template.json的输出部分实际上如下所示:
"outputs": {
"clusterProperties": {
"value": "[reference(parameters('clusterName'))]",
"type": "object"
},
"iotHubHostName": {
"type": "string",
"value": "[reference(variables('iotHubResourceId')).hostName]"
},
"iotHubConnectionString": {
"type": "string",
"value": "[concat('HostName=', reference(variables('iotHubResourceId')).hostName, ';SharedAccessKeyName=', variables('iotHubKeyName'), ';SharedAccessKey=', listkeys(variables('iotHubKeyResource'), variables('iotHubVersion')).primaryKey)]"
}
}
Run Code Online (Sandbox Code Playgroud)
以下是我使用的变量:
"variables": {
"iotHubVersion": "2016-02-03",
"iotHubResourceId": "[resourceId('Microsoft.Devices/Iothubs', parameters('iothubname'))]",
"iotHubKeyName": "iothubowner",
"iotHubKeyResource": "[resourceId('Microsoft.Devices/Iothubs/Iothubkeys', parameters('iothubname'), variables('iotHubKeyName'))]",
},
Run Code Online (Sandbox Code Playgroud) 在一些与Azure IoT集线器配合使用的Microsoft文档中,它提到在多个简单设备与本地集线器设备进行通信的情况下,可以在单个TLS连接(使用AMQP协议)下多路复用多个设备的通信。具有足以与IoT中心通信的强大功能。是否有任何示例说明如何实现这种复用?该DeviceClient库似乎并不支持这一(虽然我可能是错的)。还提到了针对这种情况的IoT Gateway SDK,但是我还没有找到一个清晰的示例说明如何使用两者来设置多路复用。任何建议或对其他材料的引用将不胜感激。
关于Azure函数的EventHubTrigger,我有点困惑.
我有一个IoT Hub,并且正在使用其eventhub兼容端点来触发Azure功能,该功能将处理和存储接收到的数据.
但是,如果我的函数失败(=抛出异常),那个函数调用期间正在处理的消息(或消息)将丢失.我实际上希望Azure函数运行时再次处理消息.具体来说,我希望这种行为是因为EventHubTrigger在功能应用程序存储帐户中保留检查点,以便跟踪它必须继续在事件流中的位置.
EventHubTrigger的文档甚至说明了这一点
如果所有功能执行成功且没有错误,则会将检查点添加到关联的存储帐户
但是,即使我故意在我的函数中抛出异常,检查点也会更新,并且不会再次收到消息.
我对EventHubTriggers文档的理解是错误的,还是EventHubTriggers实现(或其文档)错了?
connectionState从1000台设备中获取数据的最佳方法。当前没有那么多设备,但是需要有效的解决方案。
根据我的理解,目前我可以connectionState使用
Queries(select * from devices) 或registryManager.GetDevicesAsync(100);-这些方法在查询1000个设备时不是实时的,或者在设备数量增加时效率不高。如果以上任何一项我有误,请提出一些建议并纠正我。
azure azure-eventhub azure-iot-hub azure-iot-sdk azure-iot-edge
我正在使用azure-event-hubs-go客户端从Azure IoTHub读取事件。我正在创建一个事件处理器主机,并提供一个处理事件的处理程序(如https://github.com/Azure/azure-event-hubs-go中的示例所示)。
如何设置事件处理器主机从当前时间开始接收事件?我看不到任何类似InitialOffsetProvider的选项来手动设置偏移量。
这类似于如何设置EventProcessorHost从现在开始读取事件(UTC)?但这是专门针对Go客户端的。
在Azure IoT中心创建共享访问策略或注册设备时,将生成主键和辅助密钥对.我注意到我可以使用主键或辅助键将设备连接到IoT集线器.
那么,拥有主/辅助键的目的是什么?我应该如何设计两个键的使用?
我打算使用 IoT 中心利用其双向功能更新我的 Edison 设备的固件,尽管我不确定在哪里可以找到有关如何操作的详细说明。我在这个主题上找到的唯一信息是这里,但没有详细说明如何做到这一点,更多的是高级概述。有没有人知道如何做到这一点或知道任何有帮助的链接?
谢谢
我正在尝试通过以下链接使用 Azure 物联网中心 REST API 创建设备
我的http数据就像
{
"status":"connected",
"authentication":{ "symmetricKey":{
"primaryKey":"key in shared access policies",
"secondaryKey":"key in shared access policies"}
},
"statusReason":"reason",
"deviceId":"test123"
}
Run Code Online (Sandbox Code Playgroud)
我的标题就像
["Content-Type": "application/json", "Authorization": "SharedAccessSignature sig=(key in shared access policies public key)=&se=1481687791&skn=iothubowner&sr=(my iot hub name).azure-devices.net%2fdevices%2ftest123"]
Run Code Online (Sandbox Code Playgroud)
但我收到错误 401
{"Message":"ErrorCode:IotHubUnauthorizedAccess;Unauthorized","ExceptionMessage":"Tracking ID:(tracking id )-TimeStamp:12/14/2016 03:15:17"}
Run Code Online (Sandbox Code Playgroud)
有人知道如何修复它或跟踪异常消息吗?
如何正确设置和配置IoTHubTrigger以触发IoTHub消息的Azure功能(C#)?我在哪里以及如何插入IoTHub的连接字符串?
在 Azure IoT 中心的上下文中,何时会使用 Stream Analytics over Time Series Insights?
两者的产品页面和文档表明它们非常适合物联网/数据应用程序。但是,我不清楚这些差异。
我的用例是实时监控和 ETL 分析。可以(甚至应该?)两者一起使用吗?
我可以看到的一个直接区别是时间序列洞察存储数据,而流分析(我认为)需要开发人员集成存储。