Freigeben über


QueryClient.CreateAsync<T> Methode

Definition

Führen Sie eine Abfrage in Ihrem IoT Hub aus, und rufen Sie einen iterierbaren Satz der abgefragten Elemente ab.

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

Typparameter

T

Der Typ, in den der Satz von Elementen deserialisiert werden soll. Wenn Sie beispielsweise eine Abfrage wie "SELECT * FROM devices" ausführen, sollte dieser Typ sein ClientTwin. Wenn Sie eine Abfrage wie "SELECT * FROM devices.jobs" ausführen, sollte dieser Typ sein ScheduledJob.

Parameter

query
String

Die Abfrage. Weitere Informationen zum Erstellen dieser Abfrage finden Sie in diesem Dokument .

options
QueryOptions

Die optionalen Parameter, mit denen die Abfrage ausgeführt werden soll.

cancellationToken
CancellationToken

Vorgangsabbruchtoken.

Gibt zurück

Ein iterierbarer Satz der abgefragten Elemente.

Ausnahmen

Wenn das bereitgestellte query null ist.

Wenn die bereitgestellte query leer oder Leerzeichen ist.

Wenn IoT Hub auf die Anforderung mit einem nicht erfolgreichen status Code reagiert hat. Wenn beispielsweise die bereitgestellte Anforderung gedrosselt wurde, IotHubServiceException wird mit ThrottlingException ausgelöst. Eine vollständige Liste möglicher Fehlerfälle finden Sie unter IotHubServiceErrorCode.

Wenn die HTTP-Anforderung aufgrund eines zugrunde liegenden Problems wie Netzwerkkonnektivität, DNS-Fehler oder Serverzertifikatüberprüfung fehlschlägt.

Wenn das bereitgestellte Abbruchtoken den Abbruch angefordert hat.

Beispiele

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

Hinweise

Die Art der von dieser Abfrage zurückgegebenen iterierbaren Elemente hängt von der bereitgestellten Abfrage ab.

Gilt für: