Package google.firestore.admin.v1beta2

索引

FirestoreAdmin

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

CreateIndex

rpc CreateIndex(CreateIndexRequest) returns (Operation)

建立複合式索引。如此會傳回 google.longrunning.Operation,可用於追蹤建立狀態。作業的中繼資料將為 IndexOperationMetadata 類型。

授權範圍

需要下列其中一種 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

詳情請參閱驗證總覽

ExportDocuments

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

詳情請參閱驗證總覽

GetField

rpc GetField(GetFieldRequest) returns (Field)

取得欄位的中繼資料和設定。

授權範圍

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

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

詳情請參閱驗證總覽

GetIndex

rpc GetIndex(GetIndexRequest) returns (Index)

取得複合式索引。

授權範圍

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

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

詳情請參閱驗證總覽

ImportDocuments

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

詳情請參閱驗證總覽

ListFields

rpc ListFields(ListFieldsRequest) returns (ListFieldsResponse)

列出這個資料庫的欄位設定和中繼資料。

目前 FirestoreAdmin.ListFields 僅支援列出已明確覆寫的欄位。如要發出這項查詢,請呼叫 FirestoreAdmin.ListFields,並將篩選器設為 indexConfig.usesAncestorConfig:false

授權範圍

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

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

詳情請參閱驗證總覽

ListIndexes

rpc ListIndexes(ListIndexesRequest) returns (ListIndexesResponse)

列出複合式索引。

授權範圍

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

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

詳情請參閱驗證總覽

UpdateField

rpc UpdateField(UpdateFieldRequest) returns (Operation)

更新欄位設定。目前欄位更新僅適用於單一欄位索引設定。不過,對 FirestoreAdmin.UpdateField 的呼叫應提供欄位遮罩,以免變更呼叫端不知道的設定。欄位遮罩應指定為:{ paths: "index_config" }

這個呼叫會傳回 google.longrunning.Operation,可用於追蹤欄位更新的狀態。作業的中繼資料將為 FieldOperationMetadata 類型。

若要設定資料庫的預設欄位設定,請使用特殊的 Field,以及資源名稱:projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/*

授權範圍

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

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

詳情請參閱驗證總覽

CreateIndexRequest

FirestoreAdmin.CreateIndex 的要求。

欄位
parent

string

projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id} 表單的父項名稱

index

Index

要建立的複合式索引。

DeleteIndexRequest

FirestoreAdmin.DeleteIndex 的要求。

欄位
name

string

projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id} 表單的名稱

ExportDocumentsMetadata

FirestoreAdmin.ExportDocuments」的「google.longrunning.Operation」搜尋結果的中繼資料。

欄位
start_time

Timestamp

這項作業的開始時間。

end_time

Timestamp

這項作業完成的時間。如果作業仍在進行中,系統會取消設定。

operation_state

OperationState

匯出作業的狀態。

progress_documents

Progress

這項作業的進度 (在文件中)。

progress_bytes

Progress

這項作業的進度 (以位元組為單位)。

collection_ids[]

string

要匯出的集合 ID。

output_uri_prefix

string

實體匯出目標位置。

ExportDocumentsRequest

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 (這項專案或其他專案)。

廣闊

代表資料庫中的單一欄位。

欄位是按「集合群組」分類,代表資料庫中具備相同 ID 的所有集合。

欄位
name

string

projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_path} 表單的欄位名稱

欄位路徑可以是簡單的欄位名稱,例如 address 或 map_value 中欄位的路徑 (例如 address.city 或特殊欄位路徑)。唯一有效的特殊欄位是 *,代表任何欄位。

欄位路徑可以使用 (backtick). The only character that needs to be escaped within a quoted field path is the backtick character itself, escaped using a backslash. Special characters in field paths that must be quoted include:*,., ``` (backtick),[,]` 或任何 ASCII 符號字元加上引號。

範例:(注意:這裡的註解是以 Markdown 語法撰寫,因此還有一個倒引號來代表程式碼區塊) \address.city`represents a field namedaddress.city, not the map key cityin the fieldaddress. `*`represents a field named*` 而非任何欄位。

特殊的 Field 包含所有欄位的預設索引設定。這個欄位的資源名稱為:這個 Field 中定義的 projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/* 個索引會套用至所有沒有專屬 Field 索引設定的欄位。

index_config

IndexConfig

這個欄位的索引設定。如未設定,欄位索引功能會還原為 ancestor_field 定義的設定。如要明確移除這個欄位的所有索引,請使用空白的索引清單指定索引設定。

IndexConfig

這個欄位的索引設定。

欄位
indexes[]

Index

這個欄位支援的索引。

uses_ancestor_config

bool

僅供輸出。如果為 true,Field 的索引設定是根據 ancestor_field 指定的設定進行。如果設為 False,系統會明確定義 Field 的索引設定。

ancestor_field

string

僅供輸出。指定已設定這個欄位索引設定時所用 Field 的資源名稱 (如果 uses_ancestor_config 為 true),或如果這個欄位沒有索引設定,則「會」設定該名稱 (當 uses_ancestor_config 為 false)。

reverting

bool

僅輸出為 true 時,Field 的索引設定正在進行還原。完成後,索引設定會轉換為與 ancestor_field 指定欄位相同的狀態,在這個時間點上 uses_ancestor_configtruereverting 則為 false

FieldOperationMetadata

FirestoreAdmin.UpdateField」的「google.longrunning.Operation」搜尋結果的中繼資料。

欄位
start_time

Timestamp

這項作業的開始時間。

end_time

Timestamp

這項作業完成的時間。如果作業仍在進行中,系統會取消設定。

field

string

這項作業所執行的欄位資源。例如:projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_path}

index_config_deltas[]

IndexConfigDelta

IndexConfigDelta 清單,描述這項作業的意圖。

state

OperationState

作業的狀態。

document_progress

Progress

這項作業的進度 (在文件中)。

bytes_progress

Progress

這項作業的進度 (以位元組為單位)。

IndexConfigDelta

索引設定變更的相關資訊。

欄位
change_type

ChangeType

指定索引變更方式。

index

Index

正在變更的索引。

ChangeType

指定索引變更方式。

列舉
CHANGE_TYPE_UNSPECIFIED 未指定或變更類型。
ADD 正在新增單一欄位索引。
REMOVE 正在移除單一欄位索引。

GetFieldRequest

FirestoreAdmin.GetField 的要求。

欄位
name

string

projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_id} 表單的名稱

GetIndexRequest

FirestoreAdmin.GetIndex 的要求。

欄位
name

string

projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id} 表單的名稱

ImportDocumentsMetadata

FirestoreAdmin.ImportDocuments」的「google.longrunning.Operation」搜尋結果的中繼資料。

欄位
start_time

Timestamp

這項作業的開始時間。

end_time

Timestamp

這項作業完成的時間。如果作業仍在進行中,系統會取消設定。

operation_state

OperationState

匯入作業的狀態。

progress_documents

Progress

這項作業的進度 (在文件中)。

progress_bytes

Progress

這項作業的進度 (以位元組為單位)。

collection_ids[]

string

要匯入的集合 ID。

input_uri_prefix

string

匯入文件的位置。

ImportDocumentsRequest

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.v1beta2.ExportDocumentsResponse.output_uri_prefix

索引

Cloud Firestore 索引可讓您對資料庫中的文件進行簡單複雜的查詢。

欄位
name

string

僅供輸出。這個索引的伺服器定義名稱。複合式索引的名稱格式如下:projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{composite_index_id}。如果是單一欄位索引,這個欄位將為空白。

query_scope

QueryScope

如果索引已指定集合查詢範圍,您就能查詢特定文件 (在查詢時指定),且集合 ID 相同的集合 ID 的集合。

如果索引已指定集合群組查詢範圍,則可查詢所有集合,這些集合皆來自於查詢時指定的特定文件,且集合 ID 與此索引相同。

fields[]

IndexField

這個索引支援的欄位。

如果是複合式索引,這個值一律為 2 個以上的欄位。最後一個欄位項目一律適用於欄位路徑 __name__。如果在建立時未指定 __name__ 做為最後一個欄位,系統會自動新增該欄位,方向與最後一個欄位定義的方向相同。如果複合式索引中的最後一個欄位沒有方向性,則 __name__ 會排序 ASCENDING (除非明確指定)。

如果是單一欄位索引,則一律為一個項目,且欄位路徑等於關聯欄位的欄位路徑。

state

State

僅供輸出。索引的服務狀態。

IndexField

索引中的欄位。field_path 說明要建立索引的欄位,「value_mode」則說明系統如何為欄位值建立索引。

欄位
field_path

string

可以是 name。如果是單一欄位索引,這個值必須與欄位名稱相符,否則可省略。

聯集欄位 value_mode。欄位值如何建立索引。value_mode 只能是下列其中一項:
order

Order

表示這個欄位支援依指定順序排序,或使用 =、<、<=、>、>= 來比較。

array_config

ArrayConfig

表示這個欄位支援 array_value 的作業。

ArrayConfig

支援的陣列值設定。

列舉
ARRAY_CONFIG_UNSPECIFIED 索引不支援額外的陣列查詢。
CONTAINS 索引支援陣列包含查詢。

訂單

支援的順序。

列舉
ORDER_UNSPECIFIED 未指定順序。選項無效。
ASCENDING 欄位會依欄位值遞增排序。
DESCENDING 欄位會依照欄位值遞減排序。

QueryScope

查詢範圍定義查詢執行的範圍。這項資訊是在 StructuredQuery 的 from 欄位中指定。

列舉
QUERY_SCOPE_UNSPECIFIED 未指定查詢範圍。選項無效。
COLLECTION 如果索引已指定集合查詢範圍,您就能查詢特定文件的子集合 (查詢時已指定),且該集合的集合 ID 是由索引指定。
COLLECTION_GROUP 如果索引的集合群組查詢範圍已指定,您就能針對索引指定集合 ID 的所有集合執行查詢。

狀態

索引的狀態。建立索引時,索引會處於 CREATING 狀態。如果索引建立成功,則會轉換為 READY 狀態。如果索引建立作業發生問題,索引會轉換為 NEEDS_REPAIR 狀態。

列舉
STATE_UNSPECIFIED 未指定狀態。
CREATING 正在建立索引,索引有一個正在執行的長時間執行的作業。系統會在寫入文件時更新索引。部分索引資料可能存在。
READY 索引已可供使用。系統會在寫入文件時更新索引。索引會從所有套用索引的已儲存文件中完整填入。
NEEDS_REPAIR 已建立索引,但發生錯誤。索引沒有正在執行的長時間執行作業,且最近結束的長時間執行作業失敗。寫入文件時,索引不會更新。部分索引資料可能存在。請使用 google.longrunning.Operations API 來判斷為何上次嘗試建立這個索引的作業失敗,然後重新建立索引。

IndexOperationMetadata

FirestoreAdmin.CreateIndex」的「google.longrunning.Operation」搜尋結果的中繼資料。

欄位
start_time

Timestamp

這項作業的開始時間。

end_time

Timestamp

這項作業完成的時間。如果作業仍在進行中,系統會取消設定。

index

string

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

state

OperationState

作業的狀態。

progress_documents

Progress

這項作業的進度 (在文件中)。

progress_bytes

Progress

這項作業的進度 (以位元組為單位)。

ListFieldsRequest

FirestoreAdmin.ListFields 的要求。

欄位
parent

string

projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id} 表單的父項名稱

filter

string

要套用至清單結果的篩選器。目前 FirestoreAdmin.ListFields 僅支援列出已明確覆寫的欄位。如要發出這項查詢,請呼叫 FirestoreAdmin.ListFields,並將篩選器設為 indexConfig.usesAncestorConfig:false

page_size

int32

要傳回的結果數量。

page_token

string

從上次呼叫 FirestoreAdmin.ListFields 傳回的頁面符記,可用於取得下一頁的結果。

ListFieldsResponse

FirestoreAdmin.ListFields 的回應。

欄位
fields[]

Field

要求的欄位。

next_page_token

string

可用來要求另一頁結果的網頁權杖。如果留空,表示這是最後一頁。

ListIndexesRequest

FirestoreAdmin.ListIndexes 的要求。

欄位
parent

string

projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id} 表單的父項名稱

filter

string

要套用至清單結果的篩選器。

page_size

int32

要傳回的結果數量。

page_token

string

從上次呼叫 FirestoreAdmin.ListIndexes 傳回的頁面符記,可用於取得下一頁的結果。

ListIndexesResponse

FirestoreAdmin.ListIndexes 的回應。

欄位
indexes[]

Index

要求的索引。

next_page_token

string

可用來要求另一頁結果的網頁權杖。如果留空,表示這是最後一頁。

OperationState

說明作業的狀態。

列舉
OPERATION_STATE_UNSPECIFIED 未指明
INITIALIZING 正在準備處理要求。
PROCESSING 正在處理要求。
CANCELLING 使用者呼叫 google.longrunning.Operations.CancelOperation 後,系統便會取消要求。
FINALIZING 要求已處理完畢,並正在最終化階段。
SUCCESSFUL 要求已順利完成。
FAILED 要求已處理完畢,但發生錯誤。
CANCELLED 使用者呼叫 google.longrunning.Operations.CancelOperation 後,系統隨即會取消要求。

進度

說明作業進度。工作單位是通用的,必須根據 Progress 的使用位置進行解譯。

欄位
estimated_work

int64

預估的工作量。

completed_work

int64

已完成的工作量。

UpdateFieldRequest

FirestoreAdmin.UpdateField 的要求。

欄位
field

Field

要更新的欄位。

update_mask

FieldMask

相對於欄位的遮罩。如有指定,系統只會更新 欄位中的 field_mask 指定的設定。