模块双胞胎空着回来
Module twin coming back empty
我正在尝试在模块的设备孪生上设置所需的属性,但是当我从 IoT 中心检索孪生时,它返回时全是空值。
var moduleClient = ModuleClient.CreateFromConnectionString(connectionString);
var moduleTwin = await moduleClient.GetTwinAsync();
当我在调试器中检查 moduleTwin 时,我得到
连接字符串是模块的连接字符串,从 IoT 中心复制。
知道我做错了什么吗?
这是设计使然。所以这个问题是意料之中的。
来自模块应用程序,只有读取所需属性和 read/write 报告属性的权限。请参阅以下内容:
要访问所有模块孪生,您可以从解决方案后端执行此操作并需要 ServiceConnect 权限。新增模块孪生。您需要 Microsoft.Azure.Devices V1.16.0-preview-001 或更高版本。以下是控制台应用程序示例。
RegistryManager registryManager = RegistryManager.CreateFromConnectionString(connectionString);
Module module;
var moduleTwin = await registryManager.GetTwinAsync(deviceID, moduleID);
参考:
understand and use module twins in IoT Hub
"Get started with IoT Hub module identity and module twin using .NET back end and .NET device"
我正在尝试在模块的设备孪生上设置所需的属性,但是当我从 IoT 中心检索孪生时,它返回时全是空值。
var moduleClient = ModuleClient.CreateFromConnectionString(connectionString);
var moduleTwin = await moduleClient.GetTwinAsync();
当我在调试器中检查 moduleTwin 时,我得到
连接字符串是模块的连接字符串,从 IoT 中心复制。
知道我做错了什么吗?
这是设计使然。所以这个问题是意料之中的。
来自模块应用程序,只有读取所需属性和 read/write 报告属性的权限。请参阅以下内容:
要访问所有模块孪生,您可以从解决方案后端执行此操作并需要 ServiceConnect 权限。新增模块孪生。您需要 Microsoft.Azure.Devices V1.16.0-preview-001 或更高版本。以下是控制台应用程序示例。
RegistryManager registryManager = RegistryManager.CreateFromConnectionString(connectionString);
Module module;
var moduleTwin = await registryManager.GetTwinAsync(deviceID, moduleID);
参考:
understand and use module twins in IoT Hub
"Get started with IoT Hub module identity and module twin using .NET back end and .NET device"