Share via


Container.GetItemQueryStreamIterator Methode

Definition

Überlädt

GetItemQueryStreamIterator(QueryDefinition, String, QueryRequestOptions)

Diese Methode erstellt eine Abfrage für Elemente unter einem Container in einer Azure Cosmos-Datenbank mithilfe einer SQL-Anweisung mit parametrisierten Werten. Er gibt einen FeedIterator zurück. Weitere Informationen zum Vorbereiten von SQL-Anweisungen mit parametrisierten Werten finden Sie unter QueryDefinition.

GetItemQueryStreamIterator(String, String, QueryRequestOptions)

Diese Methode erstellt eine Abfrage für Elemente unter einem Container in einer Azure Cosmos-Datenbank mithilfe einer SQL-Anweisung. Er gibt einen FeedIterator zurück.

GetItemQueryStreamIterator(FeedRange, QueryDefinition, String, QueryRequestOptions)

Diese Methode erstellt eine Abfrage für Elemente unter einem Container in einer Azure Cosmos-Datenbank mithilfe einer SQL-Anweisung mit parametrisierten Werten. Er gibt einen FeedIterator zurück. Weitere Informationen zum Vorbereiten von SQL-Anweisungen mit parametrisierten Werten finden Sie unter QueryDefinition.

GetItemQueryStreamIterator(QueryDefinition, String, QueryRequestOptions)

Diese Methode erstellt eine Abfrage für Elemente unter einem Container in einer Azure Cosmos-Datenbank mithilfe einer SQL-Anweisung mit parametrisierten Werten. Er gibt einen FeedIterator zurück. Weitere Informationen zum Vorbereiten von SQL-Anweisungen mit parametrisierten Werten finden Sie unter 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

Parameter

queryDefinition
QueryDefinition

Die Cosmos SQL-Abfragedefinition.

continuationToken
String

(Optional) Das Fortsetzungstoken im Azure Cosmos DB-Dienst.

requestOptions
QueryRequestOptions

(Optional) Die Optionen für die Elementabfrageanforderung.

Gibt zurück

Ein Iterator zum Durchlaufen der Elemente.

Beispiele

Erstellen sie eine Abfrage, um alle ToDoActivity-Elemente abzurufen, deren Kosten für die angegebene Partition größer als 9000 sind.

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

Hinweise

Abfrage als Stream unterstützt nur Abfragen mit einer einzelnen Partition.

Gilt für:

GetItemQueryStreamIterator(String, String, QueryRequestOptions)

Diese Methode erstellt eine Abfrage für Elemente unter einem Container in einer Azure Cosmos-Datenbank mithilfe einer SQL-Anweisung. Er gibt einen FeedIterator zurück.

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

Parameter

queryText
String

Der Cosmos SQL-Abfragetext.

continuationToken
String

(Optional) Das Fortsetzungstoken im Azure Cosmos DB-Dienst.

requestOptions
QueryRequestOptions

(Optional) Die Optionen für die Elementabfrageanforderung.

Gibt zurück

Ein Iterator zum Durchlaufen der Elemente.

Beispiele

  1. Erstellen sie eine Abfrage, um alle ToDoActivity-Elemente abzurufen, deren Kosten für die angegebene Partition größer als 9000 sind.
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. Erstellt einen FeedIterator, um die gesamte ToDoActivity abzurufen.
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);
            }
        }
    }
}

Hinweise

Abfrage als Stream unterstützt nur Abfragen mit einer einzelnen Partition.

Gilt für:

GetItemQueryStreamIterator(FeedRange, QueryDefinition, String, QueryRequestOptions)

Diese Methode erstellt eine Abfrage für Elemente unter einem Container in einer Azure Cosmos-Datenbank mithilfe einer SQL-Anweisung mit parametrisierten Werten. Er gibt einen FeedIterator zurück. Weitere Informationen zum Vorbereiten von SQL-Anweisungen mit parametrisierten Werten finden Sie unter 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

Parameter

feedRange
FeedRange

Ein FeedRange-Element, das von GetFeedRangesAsync(CancellationToken)

queryDefinition
QueryDefinition

Die Cosmos SQL-Abfragedefinition.

continuationToken
String

(Optional) Das Fortsetzungstoken im Azure Cosmos DB-Dienst.

requestOptions
QueryRequestOptions

(Optional) Die Optionen für die Elementabfrageanforderung.

Gibt zurück

Ein Iterator zum Durchlaufen der Elemente.

Beispiele

Erstellen sie eine Abfrage, um alle ToDoActivity-Elemente abzurufen, deren Kosten für die angegebene Partition größer als 9000 sind.

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

Hinweise

Abfrage als Stream unterstützt nur Abfragen mit einer einzelnen Partition.

Gilt für: