你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
DevicesClient.SetAsync 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
SetAsync(Device, Boolean, CancellationToken) |
将设备标识的状态替换为提供的设备标识的状态。 |
SetAsync(IEnumerable<Device>, Boolean, CancellationToken) |
批量更新 IoT 中心注册表中的最多 100 个设备标识。 |
SetAsync(Device, Boolean, CancellationToken)
将设备标识的状态替换为提供的设备标识的状态。
public virtual System.Threading.Tasks.Task<Microsoft.Azure.Devices.Device> SetAsync(Microsoft.Azure.Devices.Device device, bool onlyIfUnchanged = false, System.Threading.CancellationToken cancellationToken = default);
abstract member SetAsync : Microsoft.Azure.Devices.Device * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.Azure.Devices.Device>
override this.SetAsync : Microsoft.Azure.Devices.Device * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.Azure.Devices.Device>
Public Overridable Function SetAsync (device As Device, Optional onlyIfUnchanged As Boolean = false, Optional cancellationToken As CancellationToken = Nothing) As Task(Of Device)
参数
- device
- Device
设备标识的新状态。
- onlyIfUnchanged
- Boolean
如果为 false,则即使提供的设备标识的 ETag 已过期,也会执行此更新操作。 如果为 true,则如果提供的设备标识的 ETag 已过期,则操作将引发 IotHubServiceException 。 PreconditionFailed 。 可以使用 检索 GetAsync(String, CancellationToken)最新的 ETag。
- cancellationToken
- CancellationToken
允许取消操作的标记。
返回
新更新的设备标识,包括其新的 ETag。
例外
当提供的设备为 null 时。
如果 IoT 中心使用未成功状态代码响应请求。 例如,如果提供的请求受到限制, IotHubServiceException 则会引发 和 ThrottlingException 。 有关可能的错误情况的完整列表,请参阅 IotHubServiceErrorCode。
如果 HTTP 请求因网络连接、DNS 故障或服务器证书验证等根本问题而失败。
如果提供的取消令牌已请求取消。
适用于
SetAsync(IEnumerable<Device>, Boolean, CancellationToken)
批量更新 IoT 中心注册表中的最多 100 个设备标识。
public virtual System.Threading.Tasks.Task<Microsoft.Azure.Devices.BulkRegistryOperationResult> SetAsync(System.Collections.Generic.IEnumerable<Microsoft.Azure.Devices.Device> devices, bool onlyIfUnchanged = false, System.Threading.CancellationToken cancellationToken = default);
abstract member SetAsync : seq<Microsoft.Azure.Devices.Device> * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.Azure.Devices.BulkRegistryOperationResult>
override this.SetAsync : seq<Microsoft.Azure.Devices.Device> * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.Azure.Devices.BulkRegistryOperationResult>
Public Overridable Function SetAsync (devices As IEnumerable(Of Device), Optional onlyIfUnchanged As Boolean = false, Optional cancellationToken As CancellationToken = Nothing) As Task(Of BulkRegistryOperationResult)
参数
- devices
- IEnumerable<Device>
要更新到 IoT 中心注册表的设备标识。 设备数不得超过 100 个。
- onlyIfUnchanged
- Boolean
如果为 false,则即使提供的设备标识的 ETag 已过期,也会执行此更新操作。 如果为 true,则如果提供的设备标识的 ETag 已过期,则操作将引发 IotHubServiceException 。 PreconditionFailed 。 可以使用 检索 GetAsync(String, CancellationToken)最新的 ETag。
- cancellationToken
- CancellationToken
允许取消操作的标记。
返回
批量操作的结果。
例外
当提供的设备集合为 null 时。
当提供的设备集合为空时。
如果 IoT 中心使用未成功状态代码响应请求。 例如,如果提供的请求受到限制, IotHubServiceException 则会引发 和 ThrottlingException 。 有关可能的错误情况的完整列表,请参阅 IotHubServiceErrorCode。
如果 HTTP 请求因网络连接、DNS 故障或服务器证书验证等根本问题而失败。
如果提供的取消令牌已请求取消。