Partager via


Container.GetItemQueryIterator Méthode

Définition

Surcharges

GetItemQueryIterator<T>(String, String, QueryRequestOptions)

Cette méthode crée une requête pour les éléments sous un conteneur dans une base de données Azure Cosmos à l’aide d’une instruction SQL. Il retourne un FeedIterator.

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

Cette méthode crée une requête pour les éléments sous un conteneur dans une base de données Azure Cosmos à l’aide d’une instruction SQL avec des valeurs paramétrables. Il retourne un FeedIterator. Pour plus d’informations sur la préparation d’instructions SQL avec des valeurs paramétrables, consultez QueryDefinition.

GetItemQueryIterator<T>(QueryDefinition, String, QueryRequestOptions)

Cette méthode crée une requête pour les éléments sous un conteneur dans une base de données Azure Cosmos à l’aide d’une instruction SQL avec des valeurs paramétrables. Il retourne un FeedIterator. Pour plus d’informations sur la préparation d’instructions SQL avec des valeurs paramétrables, consultez QueryDefinition.

GetItemQueryIterator<T>(String, String, QueryRequestOptions)

Source:
Container.cs

Cette méthode crée une requête pour les éléments sous un conteneur dans une base de données Azure Cosmos à l’aide d’une instruction SQL. Il retourne 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)

Paramètres de type

T

Paramètres

queryText
String

Texte de la requête Cosmos SQL.

continuationToken
String

(Facultatif) Jeton de continuation dans le service Azure Cosmos DB.

requestOptions
QueryRequestOptions

(Facultatif) Options de la demande de requête d’élément.

Retours

Itérateur pour parcourir les éléments.

Exemples

  1. Créer une requête pour obtenir tous les ToDoActivity dont le coût est supérieur à 9 000
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. Créez un FeedIterator pour obtenir tous les 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); 
        }
    }
}

S’applique à

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

Source:
Container.cs

Cette méthode crée une requête pour les éléments sous un conteneur dans une base de données Azure Cosmos à l’aide d’une instruction SQL avec des valeurs paramétrables. Il retourne un FeedIterator. Pour plus d’informations sur la préparation d’instructions SQL avec des valeurs paramétrables, consultez 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)

Paramètres de type

T

Paramètres

feedRange
FeedRange

FeedRange obtenu à partir de GetFeedRangesAsync(CancellationToken).

queryDefinition
QueryDefinition

Définition de requête Cosmos SQL.

continuationToken
String

(Facultatif) Jeton de continuation dans le service Azure Cosmos DB.

requestOptions
QueryRequestOptions

(Facultatif) Options de la demande de requête d’élément.

Retours

Itérateur pour parcourir les éléments.

Exemples

Créez une requête pour obtenir tous les ToDoActivity dont le coût est supérieur à 9 000 pour la partition spécifiée

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

Remarques

La requête en tant que flux prend uniquement en charge les requêtes de partition unique

S’applique à

GetItemQueryIterator<T>(QueryDefinition, String, QueryRequestOptions)

Source:
Container.cs

Cette méthode crée une requête pour les éléments sous un conteneur dans une base de données Azure Cosmos à l’aide d’une instruction SQL avec des valeurs paramétrables. Il retourne un FeedIterator. Pour plus d’informations sur la préparation d’instructions SQL avec des valeurs paramétrables, consultez 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)

Paramètres de type

T

Paramètres

queryDefinition
QueryDefinition

Définition de requête Cosmos SQL.

continuationToken
String

(Facultatif) Jeton de continuation dans le service Azure Cosmos DB.

requestOptions
QueryRequestOptions

(Facultatif) Options de la demande de requête d’élément.

Retours

Itérateur pour parcourir les éléments.

Exemples

Créer une requête pour obtenir tous les ToDoActivity dont le coût est supérieur à 9 000

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

S’applique à