Container.GetItemQueryIterator メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
GetItemQueryIterator<T>(String, String, QueryRequestOptions) |
このメソッドは、SQL ステートメントを使用して、Azure Cosmos データベース内のコンテナーの下に項目のクエリを作成します。 FeedIterator を返します。 |
GetItemQueryIterator<T>(FeedRange, QueryDefinition, String, QueryRequestOptions) |
このメソッドは、パラメーター化された値を持つ SQL ステートメントを使用して、Azure Cosmos データベース内のコンテナーの下に項目のクエリを作成します。 FeedIterator を返します。 パラメーター化された値を使用した SQL ステートメントの準備の詳細については、 を参照してください QueryDefinition。 |
GetItemQueryIterator<T>(QueryDefinition, String, QueryRequestOptions) |
このメソッドは、パラメーター化された値を持つ SQL ステートメントを使用して、Azure Cosmos データベース内のコンテナーの下に項目のクエリを作成します。 FeedIterator を返します。 パラメーター化された値を使用した SQL ステートメントの準備の詳細については、 を参照してください QueryDefinition。 |
GetItemQueryIterator<T>(String, String, QueryRequestOptions)
- ソース:
- Container.cs
このメソッドは、SQL ステートメントを使用して、Azure Cosmos データベース内のコンテナーの下に項目のクエリを作成します。 FeedIterator を返します。
public abstract Microsoft.Azure.Cosmos.FeedIterator<T> GetItemQueryIterator<T> (string queryText = default, string continuationToken = default, Microsoft.Azure.Cosmos.QueryRequestOptions requestOptions = default);
abstract member GetItemQueryIterator : string * string * Microsoft.Azure.Cosmos.QueryRequestOptions -> Microsoft.Azure.Cosmos.FeedIterator<'T>
Public MustOverride Function GetItemQueryIterator(Of T) (Optional queryText As String = Nothing, Optional continuationToken As String = Nothing, Optional requestOptions As QueryRequestOptions = Nothing) As FeedIterator(Of T)
型パラメーター
- T
パラメーター
- queryText
- String
Cosmos SQL クエリ テキスト。
- continuationToken
- String
(省略可能)Azure Cosmos DB サービスの継続トークン。
- requestOptions
- QueryRequestOptions
(省略可能)項目クエリ要求のオプション。
戻り値
項目を通過する反復子。
例
- コストが 9000 を超えるすべての ToDoActivity を取得するクエリを作成する
public class ToDoActivity{
public string id {get; set;}
public string status {get; set;}
public int cost {get; set;}
}
using (FeedIterator<ToDoActivity> feedIterator = this.Container.GetItemQueryIterator<ToDoActivity>(
"select * from ToDos t where t.cost > 9000",
null,
new QueryRequestOptions() { PartitionKey = new PartitionKey("Error")}))
{
while (feedIterator.HasMoreResults)
{
foreach(var item in await feedIterator.ReadNextAsync())
{
Console.WriteLine(item.cost);
}
}
}
- FeedIterator を作成して、すべての ToDoActivity を取得します。
public class ToDoActivity{
public string id {get; set;}
public string status {get; set;}
public int cost {get; set;}
}
using (FeedIterator<ToDoActivity> feedIterator = this.Container.GetItemQueryIterator<ToDoActivity>(
null,
null,
new QueryRequestOptions() { PartitionKey = new PartitionKey("Error")}))
{
while (feedIterator.HasMoreResults)
{
foreach(var item in await feedIterator.ReadNextAsync())
{
Console.WriteLine(item.cost);
}
}
}
適用対象
GetItemQueryIterator<T>(FeedRange, QueryDefinition, String, QueryRequestOptions)
- ソース:
- Container.cs
このメソッドは、パラメーター化された値を持つ SQL ステートメントを使用して、Azure Cosmos データベース内のコンテナーの下に項目のクエリを作成します。 FeedIterator を返します。 パラメーター化された値を使用した SQL ステートメントの準備の詳細については、 を参照してください QueryDefinition。
public abstract Microsoft.Azure.Cosmos.FeedIterator<T> GetItemQueryIterator<T> (Microsoft.Azure.Cosmos.FeedRange feedRange, Microsoft.Azure.Cosmos.QueryDefinition queryDefinition, string continuationToken = default, Microsoft.Azure.Cosmos.QueryRequestOptions requestOptions = default);
abstract member GetItemQueryIterator : Microsoft.Azure.Cosmos.FeedRange * Microsoft.Azure.Cosmos.QueryDefinition * string * Microsoft.Azure.Cosmos.QueryRequestOptions -> Microsoft.Azure.Cosmos.FeedIterator<'T>
Public MustOverride Function GetItemQueryIterator(Of T) (feedRange As FeedRange, queryDefinition As QueryDefinition, Optional continuationToken As String = Nothing, Optional requestOptions As QueryRequestOptions = Nothing) As FeedIterator(Of T)
型パラメーター
- T
パラメーター
- feedRange
- FeedRange
から GetFeedRangesAsync(CancellationToken)取得した FeedRange。
- queryDefinition
- QueryDefinition
Cosmos SQL クエリ定義。
- continuationToken
- String
(省略可能)Azure Cosmos DB サービスの継続トークン。
- requestOptions
- QueryRequestOptions
(省略可能)項目クエリ要求のオプション。
戻り値
項目を通過する反復子。
例
指定したパーティションのコストが 9000 を超えるすべての ToDoActivity を取得するクエリを作成する
public class ToDoActivity{
public string id {get; set;}
public string status {get; set;}
public int cost {get; set;}
}
IReadOnlyList<FeedRange> feedRanges = await this.Container.GetFeedRangesAsync();
// Distribute feedRanges across multiple compute units and pass each one to a different iterator
QueryDefinition queryDefinition = new QueryDefinition("select * from ToDos t where t.cost > @expensive")
.WithParameter("@expensive", 9000);
using (FeedIterator<ToDoActivity> feedIterator = this.Container.GetItemQueryIterator<ToDoActivity>(
feedRanges[0],
queryDefinition,
null,
new QueryRequestOptions() { }))
{
while (feedIterator.HasMoreResults)
{
foreach(var item in await feedIterator.ReadNextAsync())
{
Console.WriteLine(item.cost);
}
}
}
注釈
ストリームとしてのクエリでは、単一パーティション クエリのみがサポートされます
適用対象
GetItemQueryIterator<T>(QueryDefinition, String, QueryRequestOptions)
- ソース:
- Container.cs
このメソッドは、パラメーター化された値を持つ SQL ステートメントを使用して、Azure Cosmos データベース内のコンテナーの下に項目のクエリを作成します。 FeedIterator を返します。 パラメーター化された値を使用した SQL ステートメントの準備の詳細については、 を参照してください QueryDefinition。
public abstract Microsoft.Azure.Cosmos.FeedIterator<T> GetItemQueryIterator<T> (Microsoft.Azure.Cosmos.QueryDefinition queryDefinition, string continuationToken = default, Microsoft.Azure.Cosmos.QueryRequestOptions requestOptions = default);
abstract member GetItemQueryIterator : Microsoft.Azure.Cosmos.QueryDefinition * string * Microsoft.Azure.Cosmos.QueryRequestOptions -> Microsoft.Azure.Cosmos.FeedIterator<'T>
Public MustOverride Function GetItemQueryIterator(Of T) (queryDefinition As QueryDefinition, Optional continuationToken As String = Nothing, Optional requestOptions As QueryRequestOptions = Nothing) As FeedIterator(Of T)
型パラメーター
- T
パラメーター
- queryDefinition
- QueryDefinition
Cosmos SQL クエリ定義。
- continuationToken
- String
(省略可能)Azure Cosmos DB サービスの継続トークン。
- requestOptions
- QueryRequestOptions
(省略可能)項目クエリ要求のオプション。
戻り値
項目を通過する反復子。
例
コストが 9000 を超えるすべての ToDoActivity を取得するクエリを作成する
public class ToDoActivity{
public string id {get; set;}
public string status {get; set;}
public int cost {get; set;}
}
QueryDefinition queryDefinition = new QueryDefinition("select * from ToDos t where t.cost > @expensive")
.WithParameter("@expensive", 9000);
using (FeedIterator<ToDoActivity> feedIterator = this.Container.GetItemQueryIterator<ToDoActivity>(
queryDefinition,
null,
new QueryRequestOptions() { PartitionKey = new PartitionKey("Error")}))
{
while (feedIterator.HasMoreResults)
{
foreach(var item in await feedIterator.ReadNextAsync())
{
Console.WriteLine(item.cost);
}
}
}
適用対象
Azure SDK for .NET