次の方法で共有


QueryResponse<T>.MoveNextAsync(QueryOptions, CancellationToken) メソッド

定義

クエリ結果の次の要素に進みます。

public System.Threading.Tasks.Task<bool> MoveNextAsync (Microsoft.Azure.Devices.QueryOptions queryOptions = default, System.Threading.CancellationToken cancellationToken = default);
member this.MoveNextAsync : Microsoft.Azure.Devices.QueryOptions * System.Threading.CancellationToken -> System.Threading.Tasks.Task<bool>
Public Function MoveNextAsync (Optional queryOptions As QueryOptions = Nothing, Optional cancellationToken As CancellationToken = Nothing) As Task(Of Boolean)

パラメーター

queryOptions
QueryOptions
cancellationToken
CancellationToken

戻り値

True を指定すると、クエリ結果に次の項目が含まれます。 False の場合、これ以上項目が存在しません。

例外

このメソッドが IoT Hub に対してアイテムの次のページを取得するように要求したが、IoT Hub が失敗した状態コードで要求に応答した場合。 たとえば、指定された要求が調整された場合、 IotHubServiceExceptionThrottlingException スローされます。 考えられるエラー ケースの完全な一覧については、「」を参照してください IotHubServiceErrorCode

このメソッドが IoT Hub に対してアイテムの次のページを取得するように要求したが、ネットワーク接続、DNS エラー、サーバー証明書の検証などの根本的な問題が原因で HTTP 要求が失敗した場合。

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

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

注釈

IEnumerator のより一般的な実装と同様に、この関数は をチェック Currentする前に 1 回呼び出す必要があります。

この関数は非同期です。これは、結果の現在のページが既に進んでいる場合に、結果の次のページをフェッチするサービス要求を行う可能性があるためです。 この関数は、フェッチするページが 1 つ以上ある限り、アイテムの特定のページの末尾にある場合でも True を返します。

適用対象