Phân vùng một truy vấn bằng cách trả về các 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 tách có thể được documents.runQuery sử dụng làm điểm bắt đầu/điểm cuối cho kết quả truy vấn.
Yêu cầu HTTP
POST https://firestore.googleapis.com/v1beta1/{parent=projects/*/databases/*/documents}:partitionQuery
URL sử dụng cú pháp Chuyển mã gRPC.
Tham số đường dẫn
Tham số | |
---|---|
parent |
Bắt buộc. Tên tài nguyên gốc. Theo đị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ụ: bạn có thể đặt giá trị này thấp hơn 1 so với số lượng truy vấn song song sẽ chạy, hoặc trong khi chạy một công việc quy trình dữ liệu, ít hơn 1 so với số lượng trình thực thi 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 sử dụng pageToken có thể trả về:
Để có được bộ 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 bộ kết quả cần đượ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ân theo Ví dụ: nếu |
Trường 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: |
|
structuredQuery |
Cụm từ tìm kiếm có cấu trúc. Truy vấn phải chỉ định bộ sưu tập với tất cả các thành phần con cháu và được sắp xếp theo thứ tự tăng dần tên. Các bộ lọc khác, thứ tự theo thứ tự, giới hạn, độ lệch và con trỏ bắt đầu/kết thúc không được hỗ trợ. |
Trường 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, thì chế độ mặc định sẽ là mức độ nhất quán cao. consistency_selector chỉ có thể là một trong những trạng thái sau: |
|
readTime |
Đọc tài liệu ở một thời điểm nhất định. Đây phải là dấu thời gian có độ chính xác tính bằng micrô giây trong vòng 1 giờ qua, hoặc nếu tính năng Khôi phục đúng thời điểm được bật, thì bạn có thể thêm dấu thời gian là toàn bộ phút trong 7 ngày qua. Dấu thời gian ở định dạng "Zulu" RFC3339 UTC, với độ phân giải nano giây và tối đa 9 chữ số phân số. Ví dụ: |
Nội dung phản hồi
Câu trả lời cho Firestore.PartitionQuery
.
Nếu thành công, phần 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 mà accounts.runQuery có thể sử dụng làm điểm bắt đầu hoặc điểm cuối 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 document.partitionQuery này. 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 3 truy vấn sau đây 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ể chỉ ra rằng truy vấn có quá ít kết quả để được phân vùng, hoặc truy vấn không được hỗ trợ để phân vùng. |
nextPageToken |
Mã thông báo trang có thể được dùng để yêu cầu một nhóm kết quả bổ sung, tối đa là số do |
Phạm vi uỷ quyền
Yêu cầu một trong các phạm vi OAuth sau đây:
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ề hoạt động xác thực.