Compartir a través de


Container.GetItemQueryIterator Método

Definición

Sobrecargas

GetItemQueryIterator<T>(String, String, QueryRequestOptions)

Este método crea una consulta para los elementos de un contenedor en una base de datos de Azure Cosmos mediante una instrucción SQL. Devuelve un feedIterator.

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

Este método crea una consulta para los elementos de un contenedor en una base de datos de Azure Cosmos mediante una instrucción SQL con valores parametrizados. Devuelve un feedIterator. Para obtener más información sobre cómo preparar instrucciones SQL con valores con parámetros, consulte QueryDefinition.

GetItemQueryIterator<T>(QueryDefinition, String, QueryRequestOptions)

Este método crea una consulta para los elementos de un contenedor en una base de datos de Azure Cosmos mediante una instrucción SQL con valores parametrizados. Devuelve un feedIterator. Para obtener más información sobre cómo preparar instrucciones SQL con valores con parámetros, consulte QueryDefinition.

GetItemQueryIterator<T>(String, String, QueryRequestOptions)

Source:
Container.cs

Este método crea una consulta para los elementos de un contenedor en una base de datos de Azure Cosmos mediante una instrucción SQL. Devuelve un 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

Texto de la consulta de Cosmos SQL.

continuationToken
String

(Opcional) Token de continuación en el servicio Azure Cosmos DB.

requestOptions
QueryRequestOptions

(Opcional) Opciones de la solicitud de consulta de elemento.

Devoluciones

Iterador para recorrer los elementos.

Ejemplos

  1. Cree una consulta para obtener toda la ToDoActivity que tenga un costo superior a 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. Cree un feedIterator para obtener toda la 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); 
        }
    }
}

Se aplica a

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

Source:
Container.cs

Este método crea una consulta para los elementos de un contenedor en una base de datos de Azure Cosmos mediante una instrucción SQL con valores parametrizados. Devuelve un feedIterator. Para obtener más información sobre cómo preparar instrucciones SQL con valores con parámetros, 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

FeedRange obtenido de GetFeedRangesAsync(CancellationToken).

queryDefinition
QueryDefinition

Definición de consulta de Cosmos SQL.

continuationToken
String

(Opcional) Token de continuación en el servicio Azure Cosmos DB.

requestOptions
QueryRequestOptions

(Opcional) Opciones de la solicitud de consulta de elemento.

Devoluciones

Iterador para recorrer los elementos.

Ejemplos

Cree una consulta para obtener toda la ToDoActivity que tenga un costo superior a 9000 para la partición 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); 
        }
    }
}

Comentarios

La consulta como secuencia solo admite consultas de partición única

Se aplica a

GetItemQueryIterator<T>(QueryDefinition, String, QueryRequestOptions)

Source:
Container.cs

Este método crea una consulta para los elementos de un contenedor en una base de datos de Azure Cosmos mediante una instrucción SQL con valores parametrizados. Devuelve un feedIterator. Para obtener más información sobre cómo preparar instrucciones SQL con valores con parámetros, 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

Definición de consulta de Cosmos SQL.

continuationToken
String

(Opcional) Token de continuación en el servicio Azure Cosmos DB.

requestOptions
QueryRequestOptions

(Opcional) Opciones de la solicitud de consulta de elemento.

Devoluciones

Iterador para recorrer los elementos.

Ejemplos

Cree una consulta para obtener toda la ToDoActivity que tenga un costo superior a 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); 
        }
    }
}

Se aplica a