QueryResponse<T>.MoveNextAsync(QueryOptions, CancellationToken) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
クエリ結果の次の要素に進みます。
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 が失敗した状態コードで要求に応答した場合。 たとえば、指定された要求が調整された場合、 IotHubServiceException が ThrottlingException スローされます。 考えられるエラー ケースの完全な一覧については、「」を参照してください 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 を返します。
適用対象
Azure SDK for .NET