Share via


Container.GetItemQueryStreamIterator メソッド

定義

オーバーロード

GetItemQueryStreamIterator(QueryDefinition, String, QueryRequestOptions)

このメソッドは、パラメーター化された値を持つ SQL ステートメントを使用して、Azure Cosmos データベース内のコンテナーの下に項目のクエリを作成します。 FeedIterator を返します。 パラメーター化された値を使用した SQL ステートメントの準備の詳細については、 を参照してください QueryDefinition

GetItemQueryStreamIterator(String, String, QueryRequestOptions)

このメソッドは、SQL ステートメントを使用して、Azure Cosmos データベース内のコンテナーの下に項目のクエリを作成します。 FeedIterator を返します。

GetItemQueryStreamIterator(FeedRange, QueryDefinition, String, QueryRequestOptions)

このメソッドは、パラメーター化された値を持つ SQL ステートメントを使用して、Azure Cosmos データベース内のコンテナーの下に項目のクエリを作成します。 FeedIterator を返します。 パラメーター化された値を使用した SQL ステートメントの準備の詳細については、 を参照してください QueryDefinition

GetItemQueryStreamIterator(QueryDefinition, String, QueryRequestOptions)

このメソッドは、パラメーター化された値を持つ SQL ステートメントを使用して、Azure Cosmos データベース内のコンテナーの下に項目のクエリを作成します。 FeedIterator を返します。 パラメーター化された値を使用した SQL ステートメントの準備の詳細については、 を参照してください QueryDefinition

public abstract Microsoft.Azure.Cosmos.FeedIterator GetItemQueryStreamIterator (Microsoft.Azure.Cosmos.QueryDefinition queryDefinition, string continuationToken = default, Microsoft.Azure.Cosmos.QueryRequestOptions requestOptions = default);
abstract member GetItemQueryStreamIterator : Microsoft.Azure.Cosmos.QueryDefinition * string * Microsoft.Azure.Cosmos.QueryRequestOptions -> Microsoft.Azure.Cosmos.FeedIterator
Public MustOverride Function GetItemQueryStreamIterator (queryDefinition As QueryDefinition, Optional continuationToken As String = Nothing, Optional requestOptions As QueryRequestOptions = Nothing) As FeedIterator

パラメーター

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 feedIterator = this.Container.GetItemQueryStreamIterator(
    queryDefinition,
    null,
    new QueryRequestOptions() { PartitionKey = new PartitionKey("Error")}))
{
    while (feedIterator.HasMoreResults)
    {
        using (ResponseMessage response = await feedIterator.ReadNextAsync())
        {
            using (StreamReader sr = new StreamReader(response.Content))
            using (JsonTextReader jtr = new JsonTextReader(sr))
            {
                JObject result = JObject.Load(jtr);
            }
        }
    }
}

注釈

ストリームとしてのクエリでは、単一パーティション クエリのみがサポートされます

適用対象

GetItemQueryStreamIterator(String, String, QueryRequestOptions)

このメソッドは、SQL ステートメントを使用して、Azure Cosmos データベース内のコンテナーの下に項目のクエリを作成します。 FeedIterator を返します。

public abstract Microsoft.Azure.Cosmos.FeedIterator GetItemQueryStreamIterator (string queryText = default, string continuationToken = default, Microsoft.Azure.Cosmos.QueryRequestOptions requestOptions = default);
abstract member GetItemQueryStreamIterator : string * string * Microsoft.Azure.Cosmos.QueryRequestOptions -> Microsoft.Azure.Cosmos.FeedIterator
Public MustOverride Function GetItemQueryStreamIterator (Optional queryText As String = Nothing, Optional continuationToken As String = Nothing, Optional requestOptions As QueryRequestOptions = Nothing) As FeedIterator

パラメーター

queryText
String

Cosmos SQL クエリ テキスト。

continuationToken
String

(省略可能)Azure Cosmos DB サービスの継続トークン。

requestOptions
QueryRequestOptions

(省略可能)項目クエリ要求のオプション。

戻り値

項目を通過する反復子。

  1. 指定したパーティションのコストが 9000 を超えるすべての ToDoActivity を取得するクエリを作成する
public class ToDoActivity{
    public string id {get; set;}
    public string status {get; set;}
    public int cost {get; set;}
}

using (FeedIterator feedIterator = this.Container.GetItemQueryStreamIterator(
    "select * from ToDos t where t.cost > 9000",
    null,
    new QueryRequestOptions() { PartitionKey = new PartitionKey("Error")}))
{
    while (feedIterator.HasMoreResults)
    {
        using (ResponseMessage response = await feedIterator.ReadNextAsync())
        {
            using (StreamReader sr = new StreamReader(response.Content))
            using (JsonTextReader jtr = new JsonTextReader(sr))
            {
                JObject result = JObject.Load(jtr);
            }
        }
    }
}
  1. すべての ToDoActivity を取得する FeedIterator を作成します。
public class ToDoActivity{
    public string id {get; set;}
    public string status {get; set;}
    public int cost {get; set;}
}

using (FeedIterator feedIterator = this.Container.GetItemQueryStreamIterator(
    null,
    null,
    new QueryRequestOptions() { PartitionKey = new PartitionKey("Error")}))
{
    while (feedIterator.HasMoreResults)
    {
        using (ResponseMessage response = await feedIterator.ReadNextAsync())
        {
            using (StreamReader sr = new StreamReader(response.Content))
            using (JsonTextReader jtr = new JsonTextReader(sr))
            {
                JObject result = JObject.Load(jtr);
            }
        }
    }
}

注釈

ストリームとしてのクエリでは、単一パーティション クエリのみがサポートされます

適用対象

GetItemQueryStreamIterator(FeedRange, QueryDefinition, String, QueryRequestOptions)

このメソッドは、パラメーター化された値を持つ SQL ステートメントを使用して、Azure Cosmos データベース内のコンテナーの下に項目のクエリを作成します。 FeedIterator を返します。 パラメーター化された値を使用した SQL ステートメントの準備の詳細については、 を参照してください QueryDefinition

public abstract Microsoft.Azure.Cosmos.FeedIterator GetItemQueryStreamIterator (Microsoft.Azure.Cosmos.FeedRange feedRange, Microsoft.Azure.Cosmos.QueryDefinition queryDefinition, string continuationToken, Microsoft.Azure.Cosmos.QueryRequestOptions requestOptions = default);
abstract member GetItemQueryStreamIterator : Microsoft.Azure.Cosmos.FeedRange * Microsoft.Azure.Cosmos.QueryDefinition * string * Microsoft.Azure.Cosmos.QueryRequestOptions -> Microsoft.Azure.Cosmos.FeedIterator
Public MustOverride Function GetItemQueryStreamIterator (feedRange As FeedRange, queryDefinition As QueryDefinition, continuationToken As String, Optional requestOptions As QueryRequestOptions = Nothing) As FeedIterator

パラメーター

feedRange
FeedRange

から取得した FeedRange GetFeedRangesAsync(CancellationToken)

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 feedIterator = this.Container.GetItemQueryStreamIterator(
    feedRanges[0],
    queryDefinition,
    null,
    new QueryRequestOptions() { }))
{
    while (feedIterator.HasMoreResults)
    {
        using (ResponseMessage response = await feedIterator.ReadNextAsync())
        {
            using (StreamReader sr = new StreamReader(response.Content))
            using (JsonTextReader jtr = new JsonTextReader(sr))
            {
                JObject result = JObject.Load(jtr);
            }
        }
    }
}

注釈

ストリームとしてのクエリでは、単一パーティション クエリのみがサポートされます

適用対象