通过返回可用于并行运行查询的分区游标来对查询进行分区。返回的分区游标是拆分点,可被 document.runQuery 用作查询结果的起点/终点。
HTTP 请求
POST https://firestore.googleapis.com/v1beta1/{parent=projects/*/databases/*/documents}:partitionQuery
网址采用 gRPC 转码语法。
路径参数
参数 | |
---|---|
parent |
必需。父级资源名称。格式为: |
请求正文
请求正文中包含结构如下的数据:
JSON 表示法 |
---|
{ "partitionCount": string, "pageToken": string, "pageSize": integer, // Union field |
字段 | |
---|---|
partitionCount |
所需的最大分区点数。分区可能会跨多个结果页面返回。该数字必须为正数。返回的实际分区数可能会少一些。 例如,可设置为比要运行的并行查询数量少 1,或者在运行数据流水线作业时,设置为比可用工作器或计算实例的数量少 1。 |
pageToken |
从上一次调用 documents.partitionQuery 时返回的 例如,使用 pageToken 的两个后续调用可能会返回:
要获得根据提供给 document.partitionQuery 的查询结果排序的完整结果集,应该合并结果集:游标 A、游标 B、游标 M、游标 Q、游标 U、游标 W |
pageSize |
在此调用中返回的最大分区数,受 例如,如果 |
联合字段 query_type 。要分区的查询。query_type 只能是下列其中一项: |
|
structuredQuery |
结构化查询。查询必须指定集合的所有后代,并按名称升序排序。不支持其他过滤条件、排序依据、限制、偏移和开始/结束游标。 |
联合字段 consistency_selector 。此请求的一致性模式。如果未设置,则默认为强一致性。consistency_selector 只能是下列其中一项: |
|
readTime |
按指定时间读取文档。 此时间戳必须是过去一小时内的微秒级精确时间戳;如果启用了时间点恢复,也可以是过去 7 天内的整分钟时间戳。 采用 RFC3339 世界协调时间 (UTC)(即“祖鲁时”)格式的时间戳,采用纳秒级精度,最多包含九个小数位。示例: |
响应正文
如果成功,响应正文将包含结构如下的数据:
JSON 表示法 |
---|
{
"partitions": [
{
object ( |
字段 | |
---|---|
partitions[] |
分区结果。每个分区都是一个拆分点,可供 document.runQuery 用作查询结果的起点或终点。必须使用提供给此 document.partitionQuery 请求的查询来发出 documents.runQuery 请求。分区游标将按照与提供给 documents.partitionQuery 的查询结果相同的顺序进行排序。 例如,如果 document.partitionQuery 请求返回分区游标 A 和 B,运行以下三个查询将返回原始查询的整个结果集:
空结果可能表示查询的结果太少,无法分区,或者查询尚不支持分区。 |
nextPageToken |
可用于请求一组附加结果的页面令牌,最高不超过 document.partitionQuery 请求中的 |
授权范围
需要以下 OAuth 范围之一:
https://www.googleapis.com/auth/datastore
https://www.googleapis.com/auth/cloud-platform
如需了解详情,请参阅身份验证概览。