Partager via


Container.GetItemQueryStreamIterator Méthode

Définition

Surcharges

GetItemQueryStreamIterator(QueryDefinition, String, QueryRequestOptions)

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

GetItemQueryStreamIterator(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. Elle retourne un FeedIterator.

GetItemQueryStreamIterator(FeedRange, QueryDefinition, String, QueryRequestOptions)

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

GetItemQueryStreamIterator(QueryDefinition, String, QueryRequestOptions)

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

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 pour la partition spécifiée

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

Remarques

La requête en tant que flux ne prend en charge que les requêtes à partition unique

S’applique à

GetItemQueryStreamIterator(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. Elle retourne un 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

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 pour la partition spécifiée
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. Crée 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 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);
            }
        }
    }
}

Remarques

La requête en tant que flux ne prend en charge que les requêtes à partition unique

S’applique à

GetItemQueryStreamIterator(FeedRange, QueryDefinition, String, QueryRequestOptions)

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

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

Remarques

La requête en tant que flux ne prend en charge que les requêtes à partition unique

S’applique à