我正在使用 API:
RegistryManager.UpdateTwinAsync(string deviceId, Twin twinPatch, string etag);
但是,它需要首先调用设备的孪生:
Twin twin= await _registryManager.GetTwinAsync(deviceId);
var etag = twin.Etag
所以我需要 2 个 I/O 调用,这会降低应用程序性能。
有没有办法在不先获取 Etag 的情况下设置设备的孪生?
谢谢
最佳答案
您可以使用DeviceClient
的UpdateReportedPropertiesAsync
或者,如果您想自己序列化数据,SendEventAsync(Message message)
.
DeviceClient
位于Microsoft.Azure.Devices.Client
图书馆。
此外,您可以缓存 etag 以提高性能(但这取决于您的应用程序的工作方式)。
关于c# - 没有Etag如何设置设备的孪生属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52694359/