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

DeviceClient 类

定义

包含设备可用于向服务发送消息以及从服务接收消息的方法。

public class DeviceClient : IDisposable
type DeviceClient = class
    interface IDisposable
Public Class DeviceClient
Implements IDisposable
继承
DeviceClient
实现

字段

DefaultOperationTimeoutInMilliseconds

默认操作超时。

属性

DiagnosticSamplingPercentage

诊断采样百分比值,[0-100];0 表示不会传递任何消息诊断信息

OperationTimeoutInMilliseconds

存储操作重试中使用的超时。 请注意,对于提供取消令牌的操作,将忽略此值。 例如, SendEventAsync(Message) 将使用此超时,但 SendEventAsync(Message, CancellationToken) 不会。 后一个操作将仅由提供的取消令牌取消。

ProductInfo

存储将追加到发送到 IoT 中心的用户代理字符串的自定义产品信息。

RetryPolicy
已过时.

存储操作重试中使用的重试策略。

方法

AbandonAsync(Message)

将收到的消息放回设备队列。

AbandonAsync(Message, CancellationToken)

将收到的消息放回设备队列。

AbandonAsync(String)

将收到的消息放回设备队列。

AbandonAsync(String, CancellationToken)

将收到的消息放回设备队列。

CloseAsync()

关闭 DeviceClient 实例。

CloseAsync(CancellationToken)

关闭 DeviceClient 实例。

CompleteAsync(Message)

从设备队列中删除收到的消息。

CompleteAsync(Message, CancellationToken)

从设备队列中删除收到的消息。

CompleteAsync(String)

从设备队列中删除收到的消息。

CompleteAsync(String, CancellationToken)

从设备队列中删除收到的消息。

CompleteFileUploadAsync(FileUploadCompletionNotification, CancellationToken)

通知 IoT 中心设备的文件上传已完成。 有关 更多详细信息,请参阅此文档

Create(String, IAuthenticationMethod)

从指定的参数创建一个可释放的 Amqp DeviceClient

Create(String, IAuthenticationMethod, ClientOptions)

使用 AMQP 传输协议的指定参数创建一个一次性 DeviceClient。

Create(String, IAuthenticationMethod, ITransportSettings[], ClientOptions)

从指定的参数创建一个可释放的 DeviceClient

Create(String, IAuthenticationMethod, TransportType)

从指定的参数创建一个可释放的 DeviceClient

Create(String, IAuthenticationMethod, TransportType, ClientOptions)

从指定的参数创建一个可释放的 DeviceClient

Create(String, String, IAuthenticationMethod, ClientOptions)

从指定参数创建一个可释放的 AMQP DeviceClient

Create(String, String, IAuthenticationMethod, ITransportSettings[], ClientOptions)

从指定的参数创建一个可释放的 DeviceClient

Create(String, String, IAuthenticationMethod, TransportType, ClientOptions)

从指定的参数创建一次性 DeviceClient

CreateFromConnectionString(String)

使用 Amqp 传输从指定的连接字符串创建一次性 DeviceClient

CreateFromConnectionString(String, ClientOptions)

使用 AMQP 传输从指定的连接字符串创建一次性 DeviceClient

CreateFromConnectionString(String, ITransportSettings[], ClientOptions)

使用按优先级排列的传输列表从指定的连接字符串创建一次性 DeviceClient

CreateFromConnectionString(String, String)

使用 Amqp 传输从指定的连接字符串创建一次性 DeviceClient

CreateFromConnectionString(String, String, ClientOptions)

使用 AMQP 传输从指定的连接字符串创建一次性 DeviceClient

CreateFromConnectionString(String, String, ITransportSettings[], ClientOptions)

使用按优先级排列的传输列表从指定的连接字符串创建一个一次性 DeviceClient

CreateFromConnectionString(String, String, TransportType)

使用指定的传输类型从指定的连接字符串创建一个一次性 DeviceClient

CreateFromConnectionString(String, String, TransportType, ClientOptions)

使用指定的传输类型从指定的连接字符串创建一个一次性 DeviceClient

CreateFromConnectionString(String, TransportType)

使用指定的传输类型从指定的连接字符串创建一个一次性 DeviceClient

CreateFromConnectionString(String, TransportType, ClientOptions)

使用指定的传输类型从指定的连接字符串创建一个一次性 DeviceClient

Dispose()

释放 DeviceClient 使用的非托管资源,并选择性地释放托管资源。

Dispose(Boolean)

释放 DeviceClient 使用的非托管资源,并允许任何派生类替代并提供自定义实现。

GetFileUploadSasUriAsync(FileUploadSasUriRequest, CancellationToken)

获取 Azure 存储 SDK 可用于将文件上传到此设备的 Blob 的文件上传 SAS URI,有关详细信息 ,请参阅此文档

GetTwinAsync()

检索当前设备的设备孪生属性。 对于完整的设备孪生对象,请使用 Microsoft.Azure.Devices.RegistryManager.GetTwinAsync (字符串 deviceId) 。

GetTwinAsync(CancellationToken)

检索当前设备的设备孪生属性。 对于完整的设备孪生对象,请使用 Microsoft.Azure.Devices.RegistryManager.GetTwinAsync (字符串 deviceId) 。

OpenAsync()

显式打开 DeviceClient 实例。

OpenAsync(CancellationToken)

显式打开 DeviceClient 实例。

ReceiveAsync()

使用默认超时从设备队列接收消息。 处理收到的消息后,客户端应调用 CompleteAsync(Message)AbandonAsync(Message)RejectAsync(Message),然后释放该消息。

ReceiveAsync(CancellationToken)

使用取消令牌从设备队列接收消息。 处理收到的消息后,客户端应调用 CompleteAsync(Message, CancellationToken)AbandonAsync(Message, CancellationToken)RejectAsync(Message, CancellationToken),然后释放该消息。

ReceiveAsync(TimeSpan)

使用超时从设备队列接收消息。 处理收到的消息后,客户端应调用 CompleteAsync(Message, CancellationToken)AbandonAsync(Message, CancellationToken)RejectAsync(Message, CancellationToken),然后释放该消息。

RejectAsync(Message)

从设备队列中删除收到的消息,并向服务器指示无法处理该消息。

RejectAsync(Message, CancellationToken)

从设备队列中删除收到的消息,并向服务器指示无法处理该消息。

RejectAsync(String)

从设备队列中删除收到的消息,并向服务器指示无法处理该消息。

RejectAsync(String, CancellationToken)

从设备队列中删除收到的消息,并向服务器指示无法处理该消息。

SendEventAsync(Message)

将事件发送到中心

SendEventAsync(Message, CancellationToken)

将事件发送到中心

SendEventBatchAsync(IEnumerable<Message>)

将一批事件发送到 IoT 中心。 使用 AMQP 或 HTTP 执行真正的批处理操作。 MQTT 将一个接一个地发送消息。

SendEventBatchAsync(IEnumerable<Message>, CancellationToken)

将一批事件发送到 IoT 中心。 使用 AMQP 或 HTTP 执行真正的批处理操作。 MQTT 将一个接一个地发送消息。

SetConnectionStatusChangesHandler(ConnectionStatusChangesHandler)

设置连接状态更改回调的新委托。 如果委托已关联,它将替换为新委托。 请注意,如果将客户端配置为使用 HTTP,则永远不会调用此回调,因为该协议是无状态的。

SetDesiredPropertyUpdateCallback(DesiredPropertyUpdateCallback, Object)
已过时.

设置一个回调,每当客户端从服务收到所需或报告) 的状态更新 (时,将调用该回调。 这具有订阅服务上的 PATCH 主题的副作用。

SetDesiredPropertyUpdateCallbackAsync(DesiredPropertyUpdateCallback, Object)

设置一个回调,每当客户端从服务收到所需或报告) 的状态更新 (时,将调用该回调。 将回调值设置为 null 以清除。

SetDesiredPropertyUpdateCallbackAsync(DesiredPropertyUpdateCallback, Object, CancellationToken)

设置一个回调,每当客户端从服务收到所需或报告) 的状态更新 (时,将调用该回调。 将回调值设置为 null 以清除。

SetMethodDefaultHandlerAsync(MethodCallback, Object)

设置为方法调用的新委托,该方法没有为其名称注册委托。 如果默认委托已注册,它将替换为新委托。 可以通过传递 null MethodCallback 来取消设置方法处理程序。

SetMethodDefaultHandlerAsync(MethodCallback, Object, CancellationToken)

设置为方法调用的新委托,该方法没有为其名称注册委托。 如果默认委托已注册,它将替换为新委托。 可以通过传递 null MethodCallback 来取消设置方法处理程序。

SetMethodHandler(String, MethodCallback, Object)
已过时.

设置命名方法的新委托。 如果委托已与命名方法关联,则它将替换为新委托。

SetMethodHandlerAsync(String, MethodCallback, Object)

设置命名方法的新委托。 如果委托已与命名方法关联,则它将替换为新委托。 可以通过传递 null MethodCallback 来取消设置方法处理程序。

SetMethodHandlerAsync(String, MethodCallback, Object, CancellationToken)

设置命名方法的新委托。 如果委托已与命名方法关联,则它将替换为新委托。 可以通过传递 null MethodCallback 来取消设置方法处理程序。

SetReceiveMessageHandlerAsync(ReceiveMessageCallback, Object, CancellationToken)

设置使用取消令牌从设备队列接收消息的新委托。 处理收到的消息后,客户端应调用 CompleteAsync(Message, CancellationToken)AbandonAsync(Message, CancellationToken)RejectAsync(Message, CancellationToken),然后释放该消息。 如果传递了 null 委托,它将禁用从服务接收消息时触发的回调。

SetRetryPolicy(IRetryPolicy)

设置重试操作中使用的重试策略。 更改将在任何正在进行的操作后生效。

UpdateReportedPropertiesAsync(TwinCollection)

将报告的属性更改推送到服务。

UpdateReportedPropertiesAsync(TwinCollection, CancellationToken)

将报告的属性更改推送到服务。

UploadToBlobAsync(String, Stream)
已过时.

将流上传到与该设备的 IoTHub 关联的存储帐户中的块 Blob。 如果 Blob 已存在,则会覆盖该 Blob。

UploadToBlobAsync(String, Stream, CancellationToken)
已过时.

将流上传到与该设备的 IoTHub 关联的存储帐户中的块 Blob。 如果 Blob 已存在,则会将其覆盖。

适用于