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

Database.GetContainerQueryStreamIterator 方法

定义

重载

GetContainerQueryStreamIterator(QueryDefinition, String, QueryRequestOptions)

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

GetContainerQueryStreamIterator(String, String, QueryRequestOptions)

此方法使用 SQL 语句为数据库下的容器创建查询。 它返回 FeedIterator。

GetContainerQueryStreamIterator(QueryDefinition, String, QueryRequestOptions)

Source:
Database.cs

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

public abstract Microsoft.Azure.Cosmos.FeedIterator GetContainerQueryStreamIterator (Microsoft.Azure.Cosmos.QueryDefinition queryDefinition, string continuationToken = default, Microsoft.Azure.Cosmos.QueryRequestOptions requestOptions = default);
abstract member GetContainerQueryStreamIterator : Microsoft.Azure.Cosmos.QueryDefinition * string * Microsoft.Azure.Cosmos.QueryRequestOptions -> Microsoft.Azure.Cosmos.FeedIterator
Public MustOverride Function GetContainerQueryStreamIterator (queryDefinition As QueryDefinition, Optional continuationToken As String = Nothing, Optional requestOptions As QueryRequestOptions = Nothing) As FeedIterator

参数

queryDefinition
QueryDefinition

Cosmos SQL 查询定义。

continuationToken
String

Azure Cosmos DB 服务中的延续令牌。

requestOptions
QueryRequestOptions

(可选) 容器请求的选项。

返回

用于遍历容器的迭代器

示例

这将创建包含 queryDefinition 作为输入的容器的流馈送迭代器。

string queryText = "SELECT c.id FROM c where c.status like 'start%'";
QueryDefinition queryDefinition = new QueryDefinition(queryText);
using (FeedIterator feedIterator = this.cosmosDatabase.GetContainerQueryStreamIterator(queryDefinition))
{
    while (feedIterator.HasMoreResults)
    {
        using (ResponseMessage response = await feedIterator.ReadNextAsync())
        {
            response.EnsureSuccessStatusCode();
            using (StreamReader sr = new StreamReader(response.Content))
            using (JsonTextReader jtr = new JsonTextReader(sr))
            {
                // The stream content contains the following JSON structure
                // {"_rid":"FwsdAA==","DocumentCollections":[{"id":"container1"},{"id":"container2"}],"_count":2}
                JObject result = JObject.Load(jtr);
            }
        }
    }
}

这会创建源迭代器以获取所有容器 ID 的列表

using (FeedIterator feedIterator = this.cosmosDatabase.GetContainerQueryStreamIterator(
      new QueryDefinition("select value c.id From c ")))
  {
      while (feedIterator.HasMoreResults)
      {
          using (ResponseMessage response = await feedIterator.ReadNextAsync())
          {
               response.EnsureSuccessStatusCode();
               using (StreamReader streamReader = new StreamReader(response.Content))
               using (JsonTextReader jsonTextReader = new JsonTextReader(streamReader))
               {
                    // The stream content contains the following JSON structure
                    // {"_rid":"7p8wAA==","DocumentCollections":["container1","container2"],"_count":2}
                    JObject jObject = await JObject.LoadAsync(jsonTextReader);
                }
        }
    }
}

注解

有关语法和示例, https://docs.microsoft.com/azure/cosmos-db/sql-query-getting-started 请参阅 。

ReadContainerStreamAsync(ContainerRequestOptions, CancellationToken) 建议用于单容器查找。

适用于

GetContainerQueryStreamIterator(String, String, QueryRequestOptions)

Source:
Database.cs

此方法使用 SQL 语句为数据库下的容器创建查询。 它返回 FeedIterator。

public abstract Microsoft.Azure.Cosmos.FeedIterator GetContainerQueryStreamIterator (string queryText = default, string continuationToken = default, Microsoft.Azure.Cosmos.QueryRequestOptions requestOptions = default);
abstract member GetContainerQueryStreamIterator : string * string * Microsoft.Azure.Cosmos.QueryRequestOptions -> Microsoft.Azure.Cosmos.FeedIterator
Public MustOverride Function GetContainerQueryStreamIterator (Optional queryText As String = Nothing, Optional continuationToken As String = Nothing, Optional requestOptions As QueryRequestOptions = Nothing) As FeedIterator

参数

queryText
String

Cosmos SQL 查询文本。

continuationToken
String

Azure Cosmos DB 服务中的延续令牌。

requestOptions
QueryRequestOptions

(可选) 容器请求的选项。

返回

用于遍历容器的迭代器

示例

这将创建包含 queryDefinition 作为输入的容器的流馈送迭代器。

using (FeedIterator feedIterator = this.cosmosDatabase.GetContainerQueryStreamIterator(
    "SELECT c.id FROM c where c.status like 'start%'"))
{
    while (feedIterator.HasMoreResults)
    {
        using (ResponseMessage response = await feedIterator.ReadNextAsync())
        {
            response.EnsureSuccessStatusCode();
            using (StreamReader sr = new StreamReader(response.Content))
            using (JsonTextReader jtr = new JsonTextReader(sr))
            {
                // The stream content contains the following JSON structure
                // {"_rid":"FwsdAA==","DocumentCollections":[{"id":"container1"},{"id":"container2"}],"_count":2}
                JObject result = JObject.Load(jtr);
            }
        }
    }
}

这会创建源迭代器以获取所有容器 ID 的列表

using (FeedIterator feedIterator = this.cosmosDatabase.GetContainerQueryStreamIterator(
      "select value c.id From c "))
  {
      while (feedIterator.HasMoreResults)
      {
          using (ResponseMessage response = await feedIterator.ReadNextAsync())
          {
               response.EnsureSuccessStatusCode();
               using (StreamReader streamReader = new StreamReader(response.Content))
               using (JsonTextReader jsonTextReader = new JsonTextReader(streamReader))
               {
                    // The stream content contains the following JSON structure
                    // {"_rid":"7p8wAA==","DocumentCollections":["container1","container2"],"_count":2}
                    JObject jObject = await JObject.LoadAsync(jsonTextReader);
                }
        }
    }
}

注解

有关语法和示例, https://docs.microsoft.com/azure/cosmos-db/sql-query-getting-started 请参阅 。

ReadContainerStreamAsync(ContainerRequestOptions, CancellationToken) 建议用于单容器查找。

适用于