你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

TwinsClient.ReplaceAsync 方法

定义

重载

ReplaceAsync(String, ClientTwin, Boolean, CancellationToken)

汇报设备孪生体可变字段。

ReplaceAsync(String, String, ClientTwin, Boolean, CancellationToken)

汇报模块孪生体可变字段。

ReplaceAsync(String, ClientTwin, Boolean, CancellationToken)

汇报设备孪生体可变字段。

public virtual System.Threading.Tasks.Task<Microsoft.Azure.Devices.ClientTwin> ReplaceAsync (string deviceId, Microsoft.Azure.Devices.ClientTwin newTwin, bool onlyIfUnchanged = false, System.Threading.CancellationToken cancellationToken = default);
abstract member ReplaceAsync : string * Microsoft.Azure.Devices.ClientTwin * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.Azure.Devices.ClientTwin>
override this.ReplaceAsync : string * Microsoft.Azure.Devices.ClientTwin * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.Azure.Devices.ClientTwin>
Public Overridable Function ReplaceAsync (deviceId As String, newTwin As ClientTwin, Optional onlyIfUnchanged As Boolean = false, Optional cancellationToken As CancellationToken = Nothing) As Task(Of ClientTwin)

参数

deviceId
String

设备 ID。

newTwin
ClientTwin

要替换为的新孪生体对象。

onlyIfUnchanged
Boolean

如果为 false,则即使所提供的设备标识的 ETag 已过期,也会执行此操作。 如果为 true,则如果提供的设备标识的 ETag 已过期,则操作将引发 IotHubServiceExceptionPreconditionFailed 。 可以使用 检索 GetAsync(String, String, CancellationToken)最新的 ETag。

cancellationToken
CancellationToken

任务取消令牌。

返回

更新了孪生体。

例外

当提供的 deviceIdnewTwin 为 null 时。

当提供的 deviceId 为空或空白时。

如果 IoT 中心使用不成功的状态代码响应了请求。 例如,如果提供的请求受到限制, IotHubServiceException 则会引发 with ThrottlingException 。 有关可能的错误情况的完整列表,请参阅 IotHubServiceErrorCode

如果 HTTP 请求因网络连接、DNS 故障或服务器证书验证等基础问题而失败。

如果提供的 cancellationToken 已请求取消。

适用于

ReplaceAsync(String, String, ClientTwin, Boolean, CancellationToken)

汇报模块孪生体可变字段。

public virtual System.Threading.Tasks.Task<Microsoft.Azure.Devices.ClientTwin> ReplaceAsync (string deviceId, string moduleId, Microsoft.Azure.Devices.ClientTwin newTwin, bool onlyIfUnchanged = false, System.Threading.CancellationToken cancellationToken = default);
abstract member ReplaceAsync : string * string * Microsoft.Azure.Devices.ClientTwin * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.Azure.Devices.ClientTwin>
override this.ReplaceAsync : string * string * Microsoft.Azure.Devices.ClientTwin * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.Azure.Devices.ClientTwin>
Public Overridable Function ReplaceAsync (deviceId As String, moduleId As String, newTwin As ClientTwin, Optional onlyIfUnchanged As Boolean = false, Optional cancellationToken As CancellationToken = Nothing) As Task(Of ClientTwin)

参数

deviceId
String

设备 ID。

moduleId
String

模块 ID。

newTwin
ClientTwin

要替换为的新 Twin 对象。

onlyIfUnchanged
Boolean

如果为 false,则即使所提供的设备标识的 ETag 已过期,也会执行此操作。 如果为 true,则如果提供的设备/模块标识的 ETag 已过期,则操作将引发 IotHubServiceExceptionPreconditionFailed 可以使用 检索 GetAsync(String, String, CancellationToken)最新的 ETag。

cancellationToken
CancellationToken

任务取消令牌。

返回

更新了设备孪生。

例外

当提供的 deviceIdmoduleIdnewTwin 为 null 时。

当提供的 deviceIdmoduleId 为空或空白时。

如果 IoT 中心使用不成功的状态代码响应了请求。 例如,如果提供的请求受到限制, IotHubServiceException 则会引发 with ThrottlingException 。 有关可能的错误情况的完整列表,请参阅 IotHubServiceErrorCode

如果 HTTP 请求因网络连接、DNS 故障或服务器证书验证等基础问题而失败。

如果提供的 cancellationToken 已请求取消。

适用于