你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Database.GetContainerQueryStreamIterator 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
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) 建议用于单容器查找。