c# - Microsoft.Azure.Devices.Device 和 Microsoft.Azure.Devices.Shared.Twin 之间有什么区别?

标签 c# azure azure-iot-hub azure-iot-sdk

假设我想使用 Microsoft.Azure.Devices 包/SDK 加载设备信息,这与我所说的有什么区别:

RegistryManager regManager = RegistryManager.CreateFromConnectionString(connectionString);

Device device = await regManager.GetDeviceAsync("Device_1");
// OR
Twin twin = (await regManager.CreateQuery("SELECT * FROM devices WHERE deviceId = 'Device_1'")
            .GetNextAsTwinAsync())
            .First();

DeviceTwin 似乎共享大多数属性。 Twin 更通用,可用于查询模块,并可用于读取标签、所需/报告属性。但除此之外,他们似乎有或多或少相同的信息,除非我遗漏了一些东西。

所以我只是想知道,是否存在任何根本差异或者两者基本上相同?

最佳答案

虽然它们共享一些属性,但它们并不相同。

“设备”是一种简单类型,适用于所有 Hub SKU(基本、标准和免费)。它报告有关设备状态和身份的属性。

“双胞胎”是一种展示设备双胞胎强大概念的类型,它使设备能够报告应用程序特定的状态,并使后端能够将设置应用到设备。它通过 IoTHub 为每个设备维护和同步的 JSON 文档来实现此目的。此功能仅在标准和免费 SKU 中可用(在基本 SKU 中不可用)。

在这里阅读更多相关信息: https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-device-twins

关于c# - Microsoft.Azure.Devices.Device 和 Microsoft.Azure.Devices.Shared.Twin 之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64648515/

相关文章:

c# - 未使用的 using 指令如何影响性能?

c# - 我可以将 ASP.NET MVC 与常规 ASP.NET Web 表单一起使用吗

c# - db4o 查询 : find all objects with ID = {anything in array}

azure - 无法在 Azure 中注册的应用程序下将身份验证更新为 Multi-Tenancy

Azure 服务主体 - 将成员添加到 AD 组的权限

c# - Azure SDK UnauthorizedException : Put token failed. 状态代码 : 401, 状态描述:未经授权:当 KeyName 为空时,资源 URI 必须

c# - 获取错误 : Unable to load one or more of the requested types. 检索 LoaderExceptions 属性以获取更多信息

Azure应用程序网关-创建基于路径的主页规则

azure - IoT 中心设备孪生查询在 lastActivityTime 属性上返回不正确的结果

python - 使用来自 Azure IoT 中心的数据