c# - 没有Etag如何设置设备的孪生属性?

标签 c# performance azure azure-iot-hub

我正在使用 API:

RegistryManager.UpdateTwinAsync(string deviceId, Twin twinPatch, string etag);

但是,它需要首先调用设备的孪生:

Twin twin= await _registryManager.GetTwinAsync(deviceId);
var etag = twin.Etag

所以我需要 2 个 I/O 调用,这会降低应用程序性能。

有没有办法在不先获取 Etag 的情况下设置设备的孪生?

谢谢

最佳答案

您可以使用DeviceClientUpdateReportedPropertiesAsync或者,如果您想自己序列化数据,SendEventAsync(Message message) .

DeviceClient位于Microsoft.Azure.Devices.Client图书馆。

此外,您可以缓存 etag 以提高性能(但这取决于您的应用程序的工作方式)。

关于c# - 没有Etag如何设置设备的孪生属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52694359/

相关文章:

c# - 使用 Visual Studio 2017 的新 csproj 格式如何添加对旧可移植库的支持?

c# - 使用 AutoMapper 映射 "LinkedList"

c# - 在内存中创建文本文件,然后将其上传到 Azure Blob 存储

java - 字符串性能-内存

azure - 使用 powershell 获取 Azure DevOps 服务连接服务主体 ID

azure - 部署时尝试运行计时器触发的功能时出现环境凭据身份验证错误

c# - Web API 2.2 OData V4 - Kendo Grid - 自定义创建的 IHttpActionResult

c# - 我应该如何从一个 Controller 操作返回两个对象列表?

python - groupby.shift 时的性能问题

c++ - 什么时候静态调用虚函数?