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

QueryClient.CreateAsync<T> 方法

定义

在 IoT 中心执行查询,并获取一组可迭代的查询项。

public virtual System.Threading.Tasks.Task<Microsoft.Azure.Devices.QueryResponse<T>> CreateAsync<T> (string query, Microsoft.Azure.Devices.QueryOptions options = default, System.Threading.CancellationToken cancellationToken = default);
abstract member CreateAsync : string * Microsoft.Azure.Devices.QueryOptions * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.Azure.Devices.QueryResponse<'T>>
override this.CreateAsync : string * Microsoft.Azure.Devices.QueryOptions * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.Azure.Devices.QueryResponse<'T>>
Public Overridable Function CreateAsync(Of T) (query As String, Optional options As QueryOptions = Nothing, Optional cancellationToken As CancellationToken = Nothing) As Task(Of QueryResponse(Of T))

类型参数

T

要反序列化项集的类型。 例如,运行类似“SELECT * FROM devices”的查询时,此类型应为 ClientTwin。 运行“SELECT * FROM devices.jobs”之类的查询时,此类型应为 ScheduledJob

参数

query
String

查询。 有关如何生成此查询的更多详细信息,请参阅 此文档

options
QueryOptions

用于执行查询的可选参数。

cancellationToken
CancellationToken

任务取消标记。

返回

一组可迭代的查询项。

例外

当提供的 query 为 null 时。

如果提供的 query 为空或空格。

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

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

如果提供的取消令牌已请求取消。

示例

QueryResponse<Twin> queriedTwins = await iotHubServiceClient.Query.CreateAsync<Twin>("SELECT * FROM devices"); while (await queriedTwins.MoveNextAsync()) { Twin queriedTwin = queriedTwins.Current; Console.WriteLine(queriedTwin); } QueryResponse<ScheduledJob> queriedJobs = await iotHubServiceClient.Query.CreateAsync<ScheduledJob>("SELECT * FROM devices.jobs"); while (await queriedJobs.MoveNextAsync()) { ScheduledJob queriedJob = queriedJobs.Current; Console.WriteLine(queriedJob); }

注解

此查询返回的可迭代项的类型取决于提供的查询。

适用于