Partilhar via


Container.GetItemQueryIterator Método

Definição

Sobrecargas

GetItemQueryIterator<T>(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.

GetItemQueryIterator<T>(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.

GetItemQueryIterator<T>(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.

GetItemQueryIterator<T>(String, String, QueryRequestOptions)

Origem:
Container.cs

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

Parâmetros de tipo

T

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
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);
        }
    }
}
  1. Crie 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<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); 
        }
    }
}

Aplica-se a

GetItemQueryIterator<T>(FeedRange, QueryDefinition, String, QueryRequestOptions)

Origem:
Container.cs

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

Parâmetros de tipo

T

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

Comentários

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

Aplica-se a

GetItemQueryIterator<T>(QueryDefinition, String, QueryRequestOptions)

Origem:
Container.cs

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

Parâmetros de tipo

T

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

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

Aplica-se a