C# 如何更新 Azure IoT 中心设备的所需双胞胎 属性
C# How to update desired twin property of an Azure IoT Hub device
我已经在 IoT 中注册了设备,客户端应用程序(设备)可以更新报告的孪生属性。现在,我必须从后端应用程序(在 C# 中)更新所需的孪生属性。需要帮助。
这是一个sample on GitHub. And here's a tutorial。
相关代码如下:
public async Task UpdateDesiredProperties(string deviceId)
{
var twin = await _registryManager.GetTwinAsync(deviceId);
var patch =
@"{
properties: {
desired: {
customKey: 'customValue'
}
}
}";
await _registryManager.UpdateTwinAsync(twin.DeviceId, patch, twin.ETag);
}
刚刚找到更新所需标签的方法。
RegistryManager registryManager = RegistryManager.CreateFromConnectionString(connectionString);
var twin = await registryManager.GetTwinAsync(device.Id);
var patch = "{ \"properties\": { \"desired\": { \"configVersion\" : 3.1 } } }"; //json string
await registryManager.UpdateTwinAsync(device.Id, tags, twin.ETag);
另一种方法是直接更新所需的 TwinCollection。
using (var manager = RegistryManager.CreateFromConnectionString("Your IoT Hub ConnectionString"))
{
var twin = await manager.GetTwinAsync("your device id");
twin.Properties.Desired["YourProperty"] = "some value";
await manager.UpdateTwinAsync(twin.DeviceId, twin, twin.ETag);
}
我已经在 IoT 中注册了设备,客户端应用程序(设备)可以更新报告的孪生属性。现在,我必须从后端应用程序(在 C# 中)更新所需的孪生属性。需要帮助。
这是一个sample on GitHub. And here's a tutorial。
相关代码如下:
public async Task UpdateDesiredProperties(string deviceId)
{
var twin = await _registryManager.GetTwinAsync(deviceId);
var patch =
@"{
properties: {
desired: {
customKey: 'customValue'
}
}
}";
await _registryManager.UpdateTwinAsync(twin.DeviceId, patch, twin.ETag);
}
刚刚找到更新所需标签的方法。
RegistryManager registryManager = RegistryManager.CreateFromConnectionString(connectionString);
var twin = await registryManager.GetTwinAsync(device.Id);
var patch = "{ \"properties\": { \"desired\": { \"configVersion\" : 3.1 } } }"; //json string
await registryManager.UpdateTwinAsync(device.Id, tags, twin.ETag);
另一种方法是直接更新所需的 TwinCollection。
using (var manager = RegistryManager.CreateFromConnectionString("Your IoT Hub ConnectionString"))
{
var twin = await manager.GetTwinAsync("your device id");
twin.Properties.Desired["YourProperty"] = "some value";
await manager.UpdateTwinAsync(twin.DeviceId, twin, twin.ETag);
}