Compartilhar via


QueryClient.CreateAsync<T> Método

Definição

Execute uma consulta no hub IoT e obtenha um conjunto iterável dos itens consultados.

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))

Parâmetros de tipo

T

O tipo no qual desserializar o conjunto de itens. Por exemplo, ao executar uma consulta como "SELECT * FROM devices", esse tipo deve ser ClientTwin. Ao executar uma consulta como "SELECT * FROM devices.jobs", esse tipo deve ser ScheduledJob.

Parâmetros

query
String

A consulta. Confira este documento para obter mais detalhes sobre como criar essa consulta.

options
QueryOptions

Os parâmetros opcionais para executar a consulta com.

cancellationToken
CancellationToken

Token de cancelamento de tarefa.

Retornos

Um conjunto iterável dos itens consultados.

Exceções

Quando o fornecido query for nulo.

Se o fornecido query estiver vazio ou espaço em branco.

Se o Hub IoT respondeu à solicitação com um código de status não bem-sucedido. Por exemplo, se a solicitação fornecida foi limitada, IotHubServiceException com ThrottlingException é lançada. Para obter uma lista completa de possíveis casos de erro, consulte IotHubServiceErrorCode.

Se a solicitação HTTP falhar devido a um problema subjacente, como conectividade de rede, falha de DNS ou validação de certificado do servidor.

Se o token de cancelamento fornecido tiver solicitado o cancelamento.

Exemplos

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); }

Comentários

O tipo de itens iteráveis retornados por essa consulta dependerá da consulta fornecida.

Aplica-se a