你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

CosmosContainer.GetItemQueryStreamIterator 方法

定义

重载

GetItemQueryStreamIterator(QueryDefinition, String, QueryRequestOptions, CancellationToken)

此方法使用具有参数化值的 SQL 语句为 Azure Cosmos 数据库中的容器下的项创建查询。 它返回 FeedIterator。 有关使用参数化值准备 SQL 语句的详细信息,请参阅 QueryDefinition

GetItemQueryStreamIterator(String, String, QueryRequestOptions, CancellationToken)

此方法使用具有参数化值的 SQL 语句为 Azure Cosmos 数据库中的容器下的项创建查询。 它返回 FeedIterator。 有关使用参数化值准备 SQL 语句的详细信息,请参阅 QueryDefinition

GetItemQueryStreamIterator(QueryDefinition, String, QueryRequestOptions, CancellationToken)

此方法使用具有参数化值的 SQL 语句为 Azure Cosmos 数据库中的容器下的项创建查询。 它返回 FeedIterator。 有关使用参数化值准备 SQL 语句的详细信息,请参阅 QueryDefinition

public abstract System.Collections.Generic.IAsyncEnumerable<Azure.Response> GetItemQueryStreamIterator (Azure.Cosmos.QueryDefinition queryDefinition, string continuationToken = default, Azure.Cosmos.QueryRequestOptions requestOptions = default, System.Threading.CancellationToken cancellationToken = default);
abstract member GetItemQueryStreamIterator : Azure.Cosmos.QueryDefinition * string * Azure.Cosmos.QueryRequestOptions * System.Threading.CancellationToken -> System.Collections.Generic.IAsyncEnumerable<Azure.Response>
Public MustOverride Function GetItemQueryStreamIterator (queryDefinition As QueryDefinition, Optional continuationToken As String = Nothing, Optional requestOptions As QueryRequestOptions = Nothing, Optional cancellationToken As CancellationToken = Nothing) As IAsyncEnumerable(Of Response)

参数

queryDefinition
QueryDefinition

cosmos SQL 查询定义。

continuationToken
String

(可选) Azure Cosmos DB 服务中的延续令牌。

requestOptions
QueryRequestOptions

(可选) 项查询请求的选项 QueryRequestOptions

cancellationToken
CancellationToken

(表示请求取消的可选) CancellationToken

返回

用于遍历各项的迭代器。

示例

创建查询以获取指定分区成本高于 9000 的所有 ToDoActivity

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);
await foreach(Response response in this.Container.GetItemQueryStreamIterator(
                                                queryDefinition,
                                                null,
                                                new QueryRequestOptions() { PartitionKey = new PartitionKey("Error")}))
    {
        using (StreamReader sr = new StreamReader(response.Content))
        using (JsonTextReader jtr = new JsonTextReader(sr))
        {
            JObject result = JObject.Load(jtr);
        }
    }

注解

查询作为流仅支持单分区查询

适用于

GetItemQueryStreamIterator(String, String, QueryRequestOptions, CancellationToken)

此方法使用具有参数化值的 SQL 语句为 Azure Cosmos 数据库中的容器下的项创建查询。 它返回 FeedIterator。 有关使用参数化值准备 SQL 语句的详细信息,请参阅 QueryDefinition

public abstract System.Collections.Generic.IAsyncEnumerable<Azure.Response> GetItemQueryStreamIterator (string queryText = default, string continuationToken = default, Azure.Cosmos.QueryRequestOptions requestOptions = default, System.Threading.CancellationToken cancellationToken = default);
abstract member GetItemQueryStreamIterator : string * string * Azure.Cosmos.QueryRequestOptions * System.Threading.CancellationToken -> System.Collections.Generic.IAsyncEnumerable<Azure.Response>
Public MustOverride Function GetItemQueryStreamIterator (Optional queryText As String = Nothing, Optional continuationToken As String = Nothing, Optional requestOptions As QueryRequestOptions = Nothing, Optional cancellationToken As CancellationToken = Nothing) As IAsyncEnumerable(Of Response)

参数

queryText
String

cosmos SQL 查询文本。

continuationToken
String

(可选) Azure Cosmos DB 服务中的延续令牌。

requestOptions
QueryRequestOptions

(可选) 项查询请求的选项 QueryRequestOptions

cancellationToken
CancellationToken

(表示请求取消的可选) CancellationToken

返回

用于遍历各项的迭代器。

示例

  1. 创建查询以获取指定分区成本高于 9000 的所有 ToDoActivity
public class ToDoActivity{
    public string id {get; set;}
    public string status {get; set;}
    public int cost {get; set;}
}

await foreach(Response response in this.Container.GetItemQueryStreamIterator(
    "select * from ToDos t where t.cost > 9000",
    null,
    new QueryRequestOptions() { PartitionKey = new PartitionKey("Error")}))
{
        using (StreamReader sr = new StreamReader(response.Content))
        using (JsonTextReader jtr = new JsonTextReader(sr))
        {
            JObject result = JObject.Load(jtr);
        }
}

  1. 创建 FeedIterator 以获取所有 ToDoActivity。
public class ToDoActivity{
    public string id {get; set;}
    public string status {get; set;}
    public int cost {get; set;}
}

await foreach(Response response in this.Container.GetItemQueryStreamIterator(
    null,
    null,
    new QueryRequestOptions() { PartitionKey = new PartitionKey("Error")}))
{
        using (StreamReader sr = new StreamReader(response.Content))
        using (JsonTextReader jtr = new JsonTextReader(sr))
        {
            JObject result = JObject.Load(jtr);
        }
}

注解

查询作为流仅支持单分区查询

适用于