Phân vùng truy vấn bằng cách trả về con trỏ phân vùng có thể dùng để chạy truy vấn song song. Con trỏ phân vùng được trả về là các điểm phân chia có thể được document.runQuery sử dụng làm điểm bắt đầu/kết thúc cho kết quả truy vấn.
yêu cầu HTTP
POST https://firestore.googleapis.com/v1/{parent=projects/*/databases/*/documents}:partitionQuery
URL sử dụng cú pháp Chuyển mã gRPC.
Tham số đường dẫn
Thông số | |
---|---|
parent |
Bắt buộc. Tên tài nguyên mẹ. Ở định dạng: |
Nội dung yêu cầu
Nội dung yêu cầu chứa dữ liệu có cấu trúc sau:
Biểu diễn dưới dạng JSON |
---|
{ "partitionCount": string, "pageToken": string, "pageSize": integer, // Union field |
Trường | |
---|---|
partitionCount |
Số điểm phân vùng tối đa mong muốn. Các phân vùng có thể được trả về trên nhiều trang kết quả. Số phải là số dương. Số lượng phân vùng thực tế được trả về có thể ít hơn. Ví dụ: giá trị này có thể được đặt ít hơn 1 so với số lượng truy vấn song song sẽ chạy, hoặc khi chạy một công việc quy trình dữ liệu, ít hơn một so với số lượng worker hoặc thực thể điện toán có sẵn. |
pageToken |
Giá trị Ví dụ: hai lệnh gọi tiếp theo dùng một pageToken có thể trả về:
Để có được tập hợp kết quả hoàn chỉnh theo thứ tự tương ứng với kết quả của truy vấn được cung cấp cho documents.partitionQuery, các tập hợp kết quả phải được hợp nhất: con trỏ A, con trỏ B, con trỏ M, con trỏ Q, con trỏ U, con trỏ W |
pageSize |
Số lượng phân vùng tối đa cần trả về trong lệnh gọi này, tuỳ thuộc vào Ví dụ: nếu |
Trường kết hợp query_type . Truy vấn để phân vùng. query_type chỉ có thể là một trong những trạng thái sau đây: |
|
structuredQuery |
Truy vấn có cấu trúc. Truy vấn phải chỉ định tập hợp gồm tất cả các thành phần con và được sắp xếp theo tên tăng dần. Các bộ lọc, thứ tự by, giới hạn, độ lệch và con trỏ bắt đầu/kết thúc khác không được hỗ trợ. |
Trường kết hợp consistency_selector . Chế độ nhất quán cho yêu cầu này. Nếu bạn không đặt chính sách này, hệ thống sẽ đặt mặc định là tính nhất quán cao. consistency_selector chỉ có thể là một trong những trạng thái sau đây: |
|
readTime |
Đọc tài liệu như tại thời điểm đã cho. Đây phải là một dấu thời gian có độ chính xác là micrô giây trong vòng 1 giờ qua, hoặc nếu tính năng Khôi phục tại một thời điểm đang bật, thì đây cũng có thể là dấu thời gian cả phút trong vòng 7 ngày qua. Dấu thời gian theo múi giờ "Zulu" RFC3339 (giờ UTC) với độ phân giải nano giây và lên đến 9 chữ số phân số. Ví dụ: |
Nội dung phản hồi
Phản hồi cho Firestore.PartitionQuery
.
Nếu thành công, nội dung phản hồi sẽ chứa dữ liệu có cấu trúc sau:
Biểu diễn dưới dạng JSON |
---|
{
"partitions": [
{
object ( |
Trường | |
---|---|
partitions[] |
Kết quả phân vùng. Mỗi phân vùng là một điểm phân tách có thể được documents.runQuery sử dụng làm điểm bắt đầu hoặc điểm kết thúc cho kết quả truy vấn. Các yêu cầu document.runQuery phải được thực hiện bằng cùng một truy vấn được cung cấp cho yêu cầu documents.partitionQuery này. Các con trỏ phân vùng sẽ được sắp xếp theo cùng thứ tự như kết quả của truy vấn được cung cấp cho documents.partitionQuery. Ví dụ: nếu yêu cầu documents.partitionQuery trả về con trỏ phân vùng A và B, thì việc chạy ba truy vấn sau sẽ trả về toàn bộ tập hợp kết quả của truy vấn ban đầu:
Kết quả trống có thể cho biết truy vấn có quá ít kết quả để phân vùng hoặc truy vấn chưa được hỗ trợ để phân vùng. |
nextPageToken |
Mã thông báo trang có thể dùng để yêu cầu một nhóm kết quả bổ sung, lên tới số lượng do |
Phạm vi uỷ quyền
Yêu cầu một trong các phạm vi OAuth sau:
https://www.googleapis.com/auth/datastore
https://www.googleapis.com/auth/cloud-platform
Để biết thêm thông tin, hãy xem bài viết Tổng quan về việc xác thực.