你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
QueryClient.CreateAsync<T> 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在 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。
参数
- options
- QueryOptions
用于执行查询的可选参数。
- cancellationToken
- CancellationToken
任务取消标记。
返回
Task<QueryResponse<T>>
一组可迭代的查询项。
例外
当提供的 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);
}
注解
此查询返回的可迭代项的类型取决于提供的查询。