Package google.firestore.admin.v1beta1

索引

Firestore 管理員

Cloud Firestore Admin API。

這個 API 為 Cloud Firestore 提供多項管理服務。

概念

系統會依據 Google Cloud Firestore API 的定義使用專案、資料庫、命名空間、集合和文件,

Operation:作業代表在背景執行的工作。

服務

索引

索引服務會管理 Cloud Firestore 索引。

索引建立作業會以非同步的方式執行。系統會為這類非同步作業建立 Operation 資源。可透過 Operation 資源查詢作業狀態 (包括發生的任何錯誤)。

中繼資料

提供 Cloud Firestore 中的資料中繼資料和統計資訊。此 API 中提供的資料可能已過時。

作業

「作業」集合會列出已對指定專案執行動作的記錄 (包括執行中的所有作業)。系統不會直接建立作業,而是透過呼叫其他集合或資源。

尚未完成的作業可能會取消。取消要求為非同步性質,在要求取消後, Operation 會繼續執行一段時間。

系統可能會刪除已完成的作業,停止將其列為作業集合的一部分。

作業是由服務 FirestoreAdmin 建立,但可透過服務 google.longrunning.Operations 存取。

CreateIndex

rpc CreateIndex(CreateIndexRequest) returns (Operation)

建立指定的索引。新建立的索引的初始狀態為 CREATING。傳回的 google.longrunning.Operation 完成後,狀態就會是 READY。如果索引已存在,呼叫會傳回 ALREADY_EXISTS 狀態。

程序在建立期間可能會發生錯誤,在這種情況下,索引會移至 ERROR 狀態。如要復原該程序,您可以修正導致錯誤的資料,使用 delete 移除索引,然後使用 create 重新建立索引。

無法建立含有單一欄位的索引。

授權範圍

需要下列其中一種 OAuth 範圍:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

詳情請參閱驗證總覽一文。

DeleteIndex

rpc DeleteIndex(DeleteIndexRequest) returns (Empty)

刪除索引。

授權範圍

需要下列其中一種 OAuth 範圍:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

詳情請參閱驗證總覽一文。

匯出文件

rpc ExportDocuments(ExportDocumentsRequest) returns (Operation)

這個外掛程式能將 Google Cloud Firestore 中全部或部分文件的副本匯出至其他儲存系統,例如 Google Cloud Storage。最近的文件更新可能不會反映在匯出作業中。匯出作業會在背景中執行,並透過建立的 Operation 資源監控及管理進度。執行匯出作業的輸出內容後,才能使用這些輸出內容。如果匯出作業在完成前遭到取消,可能會導致部分資料無法在 Google Cloud Storage 中留存。

授權範圍

需要下列其中一種 OAuth 範圍:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

詳情請參閱驗證總覽一文。

取得索引

rpc GetIndex(GetIndexRequest) returns (Index)

取得索引。

授權範圍

需要下列其中一種 OAuth 範圍:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

詳情請參閱驗證總覽一文。

匯入文件

rpc ImportDocuments(ImportDocumentsRequest) returns (Operation)

將文件匯入 Google Cloud Firestore。名稱相同的現有文件將遭到覆寫。匯入作業會在背景中進行,並透過建立的 Operation 資源監控及管理其進度。如果 ImportDocuments 作業已取消,可能是因為部分資料已匯入 Cloud Firestore。

授權範圍

需要下列其中一種 OAuth 範圍:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

詳情請參閱驗證總覽一文。

清單索引

rpc ListIndexes(ListIndexesRequest) returns (ListIndexesResponse)

列出符合指定篩選器的索引。

授權範圍

需要下列其中一種 OAuth 範圍:

  • https://www.googleapis.com/auth/datastore
  • https://www.googleapis.com/auth/cloud-platform

詳情請參閱驗證總覽一文。

建立索引要求

FirestoreAdmin.CreateIndex 的要求。

欄位
parent

string

要套用這個索引的資料庫名稱。例如:projects/{project_id}/databases/{database_id}

index

Index

要建立的索引。名稱和狀態欄位都是輸出內容,且會遭到忽略。無法建立或刪除某些單一欄位索引。

刪除索引要求

FirestoreAdmin.DeleteIndex 的要求。

欄位
name

string

索引名稱。例如:projects/{project_id}/databases/{database_id}/indexes/{index_id}

ExportDocumentsMetadata

ExportDocuments 作業的中繼資料。

欄位
start_time

Timestamp

作業開始的時間。

end_time

Timestamp

作業結束的時間,可能成功或有其他情況。如果作業仍為有效狀態,請取消設定。

operation_state

OperationState

匯出作業的狀態。

progress_documents

Progress

已處理的文件數量預估值。

progress_bytes

Progress

預估處理的位元組數。

collection_ids[]

string

要匯出的集合 ID。

output_uri_prefix

string

實體的匯出目的地。

匯出文件要求

FirestoreAdmin.ExportDocuments 的要求。

欄位
name

string

要匯出的資料庫。格式應該為:projects/{project_id}/databases/{database_id}

collection_ids[]

string

要匯出的集合 ID。未指定代表所有集合。

output_uri_prefix

string

輸出 URI。目前僅支援採用以下格式的 Google Cloud Storage URI:gs://BUCKET_NAME[/NAMESPACE_PATH],其中 BUCKET_NAME 是 Google Cloud Storage 值區的名稱,NAMESPACE_PATH 是選用的 Google Cloud Storage 命名空間路徑。選擇名稱時,請務必參考 Google Cloud Storage 命名規範:https://cloud.google.com/storage/docs/naming。如果 URI 是值區 (不含命名空間路徑),系統會根據開始時間產生前置字串。

ExportDocumentsResponse

透過 google.longrunning.Operation 回應欄位傳回。

欄位
output_uri_prefix

string

輸出檔案的位置。這項作業可以在作業成功完成後,開始匯入 Cloud Firestore (這項專案或其他專案)。

取得索引要求

FirestoreAdmin.GetIndex 的要求。

欄位
name

string

索引的名稱。例如:projects/{project_id}/databases/{database_id}/indexes/{index_id}

ImportDocumentsMetadata

ImportDocuments 作業的中繼資料。

欄位
start_time

Timestamp

作業開始的時間。

end_time

Timestamp

作業結束的時間,可能成功或有其他情況。如果作業仍為有效狀態,請取消設定。

operation_state

OperationState

匯入作業的狀態。

progress_documents

Progress

已處理的文件數量預估值。

progress_bytes

Progress

預估處理的位元組數。

collection_ids[]

string

要匯入的集合 ID。

input_uri_prefix

string

匯入文件的所在位置。

匯入文件要求

FirestoreAdmin.ImportDocuments 的要求。

欄位
name

string

要匯入的目標資料庫。格式應該為:projects/{project_id}/databases/{database_id}

collection_ids[]

string

要匯入的集合 ID。未指定表示匯入項目中包含的所有集合。

input_uri_prefix

string

匯出檔案的位置。這個值必須符合成功匯出的 ExportDocumentsResponse 的 output_uri_prefix。請參閱:google.firestore.admin.v1beta1.ExportDocumentsResponse.output_uri_prefix

索引

索引定義。

欄位
name

string

索引的資源名稱。僅供輸出。

collection_id

string

這個索引適用的集合 ID。必填。

fields[]

IndexField

要建立索引的欄位。

state

State

索引的狀態。僅供輸出。

狀態

索引的狀態。在建立索引期間,索引會處於 CREATING 狀態。如果索引建立成功,就會轉換為 READY 狀態。如果無法建立索引,該索引會轉換為 ERROR 狀態。

列舉
STATE_UNSPECIFIED 未指定狀態。
CREATING 正在建立索引。索引有一個執行中的長時間執行作業。寫入文件時,索引會更新。可能存在部分索引資料。
READY 索引已可供使用。寫入文件時,索引會更新。索引會完全填入套用該索引的所有已儲存文件。
ERROR 正在建立索引,但發生錯誤。索引沒有執行中的長時間執行作業,且最近完成的長時間執行作業失敗。寫入文件時,索引不會更新。可能存在部分索引資料。

索引欄位

索引的欄位。

欄位
field_path

string

欄位路徑。必須符合 [google.firestore.v1beta1.Document.fields][fields] 所描述的欄位路徑規格。特殊欄位路徑 __name__ 可單獨使用,也可在路徑結尾使用。「__type__」只能用在路徑結尾。

mode

Mode

欄位模式。

模式

模式會決定欄位的索引方式。

列舉
MODE_UNSPECIFIED 未指定模式。
ASCENDING 系統會為欄位值建立索引,藉此支援以遞增順序排序的字母,同時也能使用 <、>、<=、>= 和 = 來查詢。
DESCENDING 系統會為欄位值建立索引,藉此支援以遞減順序排序的字母,同時也能使用 <、>、<=、>= 和 = 進行查詢。
ARRAY_CONTAINS 系統會為欄位陣列值建立索引,以支援使用 ARRAY_CONTAINS 查詢的成員。

IndexOperationMetadata

索引作業的中繼資料。這項中繼資料會填入 google.longrunning.Operation 的中繼資料欄位。

欄位
start_time

Timestamp

作業開始的時間。

end_time

Timestamp

作業結束的時間,可能成功或有其他情況。如果作業仍為有效狀態,請取消設定。

index

string

執行這項作業的索引資源。例如:projects/{project_id}/databases/{database_id}/indexes/{index_id}

operation_type

OperationType

索引作業類型。

cancelled

bool

如果 google.longrunning.Operation 已取消,則為「是」。如果取消中,取消作業會顯示 true,但 google.longrunning.Operation.done 的值為 false。

document_progress

Progress

現有作業的進度,以文件數量測量。

OperationType

索引作業類型。

列舉
OPERATION_TYPE_UNSPECIFIED 未指定。伺服器未設定。
CREATING_INDEX 作業正在建立索引。由 CreateIndex 呼叫發起。

列出索引要求

FirestoreAdmin.ListIndexes 的要求。

欄位
parent

string

資料庫名稱。例如:projects/{project_id}/databases/{database_id}

filter

string

page_size

int32

標準清單頁面大小。

page_token

string

標準清單頁面符記。

列出索引回應

FirestoreAdmin.ListIndexes 的回應。

欄位
indexes[]

Index

索引。

next_page_token

string

標準清單下一頁符記。

LocationMetadata

這個類型沒有任何欄位。

google.cloud.location.Location.metadata 的中繼資料訊息。

OperationState

執行中作業的各種可能狀態。

列舉
STATE_UNSPECIFIED 未指定。
INITIALIZING 正在準備處理要求。
PROCESSING 正在處理要求。
CANCELLING 當使用者呼叫 google.longrunning.Operations.CancelOperation 後,要求正在取消。
FINALIZING 要求已處理完畢,並且正在進入最終階段。
SUCCESSFUL 已成功完成要求。
FAILED 要求已處理完畢,但發生錯誤。
CANCELLED 使用者呼叫 google.longrunning.Operations.CancelOperation 後,要求已取消。

進度

評估特定指標的進度。

欄位
work_completed

int64

已完成作業的預估值。請注意,這個值可能大於 work_estimated

work_estimated

int64

預估必須執行的工作量。如果無法提供預估工作,則為零。可能會隨著工作進度而改變。