Compartilhar via


Container.GetItemQueryStreamIterator Método

Definição

Sobrecargas

GetItemQueryStreamIterator(QueryDefinition, String, QueryRequestOptions)

Esse método cria uma consulta para itens em um contêiner em um banco de dados do Azure Cosmos usando uma instrução SQL com valores parametrizados. Ele retorna um FeedIterator. Para obter mais informações sobre como preparar instruções SQL com valores parametrizados, consulte QueryDefinition.

GetItemQueryStreamIterator(String, String, QueryRequestOptions)

Esse método cria uma consulta para itens em um contêiner em um banco de dados do Azure Cosmos usando uma instrução SQL. Ele retorna um FeedIterator.

GetItemQueryStreamIterator(FeedRange, QueryDefinition, String, QueryRequestOptions)

Esse método cria uma consulta para itens em um contêiner em um banco de dados do Azure Cosmos usando uma instrução SQL com valores parametrizados. Ele retorna um FeedIterator. Para obter mais informações sobre como preparar instruções SQL com valores parametrizados, consulte QueryDefinition.

GetItemQueryStreamIterator(QueryDefinition, String, QueryRequestOptions)

Esse método cria uma consulta para itens em um contêiner em um banco de dados do Azure Cosmos usando uma instrução SQL com valores parametrizados. Ele retorna um FeedIterator. Para obter mais informações sobre como preparar instruções SQL com valores parametrizados, consulte 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

Parâmetros

queryDefinition
QueryDefinition

A definição de consulta SQL do Cosmos.

continuationToken
String

(Opcional) O token de continuação no serviço do Azure Cosmos DB.

requestOptions
QueryRequestOptions

(Opcional) As opções para a solicitação de consulta de item.

Retornos

Um iterador para percorrer os itens.

Exemplos

Criar uma consulta para obter todo o ToDoActivity que tem um custo maior que 9000 para a partição especificada

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

Comentários

A consulta como um fluxo dá suporte apenas a consultas de partição única

Aplica-se a

GetItemQueryStreamIterator(String, String, QueryRequestOptions)

Esse método cria uma consulta para itens em um contêiner em um banco de dados do Azure Cosmos usando uma instrução SQL. Ele retorna um 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

Parâmetros

queryText
String

O texto da consulta SQL do Cosmos.

continuationToken
String

(Opcional) O token de continuação no serviço do Azure Cosmos DB.

requestOptions
QueryRequestOptions

(Opcional) As opções para a solicitação de consulta de item.

Retornos

Um iterador para percorrer os itens.

Exemplos

  1. Criar uma consulta para obter todo o ToDoActivity que tem um custo maior que 9000 para a partição especificada
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. Cria um FeedIterator para obter toda a 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(
    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);
            }
        }
    }
}

Comentários

A consulta como um fluxo dá suporte apenas a consultas de partição única

Aplica-se a

GetItemQueryStreamIterator(FeedRange, QueryDefinition, String, QueryRequestOptions)

Esse método cria uma consulta para itens em um contêiner em um banco de dados do Azure Cosmos usando uma instrução SQL com valores parametrizados. Ele retorna um FeedIterator. Para obter mais informações sobre como preparar instruções SQL com valores parametrizados, consulte 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

Parâmetros

feedRange
FeedRange

Um FeedRange obtido de GetFeedRangesAsync(CancellationToken)

queryDefinition
QueryDefinition

A definição de consulta SQL do Cosmos.

continuationToken
String

(Opcional) O token de continuação no serviço do Azure Cosmos DB.

requestOptions
QueryRequestOptions

(Opcional) As opções para a solicitação de consulta de item.

Retornos

Um iterador para percorrer os itens.

Exemplos

Criar uma consulta para obter todo o ToDoActivity que tem um custo maior que 9000 para a partição especificada

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

Comentários

A consulta como um fluxo dá suporte apenas a consultas de partição única

Aplica-se a