次の方法で共有


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

タスクの取り消しトークン。

戻り値

クエリされたアイテムの iterable セット。

例外

指定 query された が null の場合。

指定 query された が空または空白の場合。

IoT ハブが失敗した状態コードで要求に応答した場合。 たとえば、指定された要求が調整された場合、 IotHubServiceExceptionThrottlingException スローされます。 考えられるエラー ケースの完全な一覧については、「」を参照してください IotHubServiceErrorCode

ネットワーク接続、DNS エラー、サーバー証明書の検証などの根本的な問題が原因で HTTP 要求が失敗した場合。

指定されたキャンセル トークンが取り消しを要求した場合。

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

注釈

このクエリによって返される iterable 項目の種類は、指定されたクエリによって異なります。

適用対象