REST Resource: projects.databases

資源:資料庫

Cloud Firestore 資料庫。

JSON 表示法
{
  "name": string,
  "uid": string,
  "createTime": string,
  "updateTime": string,
  "deleteTime": string,
  "locationId": string,
  "type": enum (DatabaseType),
  "concurrencyMode": enum (ConcurrencyMode),
  "versionRetentionPeriod": string,
  "earliestVersionTime": string,
  "pointInTimeRecoveryEnablement": enum (PointInTimeRecoveryEnablement),
  "appEngineIntegrationMode": enum (AppEngineIntegrationMode),
  "keyPrefix": string,
  "deleteProtectionState": enum (DeleteProtectionState),
  "cmekConfig": {
    object (CmekConfig)
  },
  "previousId": string,
  "etag": string
}
欄位
name

string

資料庫的資源名稱。格式:projects/{project}/databases/{database}

uid

string

僅供輸出。系統為這個資料庫產生的 UUID4。

createTime

string (Timestamp format)

僅供輸出。建立這個資料庫的時間戳記。2016 年之前建立的資料庫不會填入 createTime。

RFC3339 世界標準時間「Zulu」的時間戳記格式,解析度不超過奈秒,最多 9 個小數位數。範例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

updateTime

string (Timestamp format)

僅供輸出。這個資料庫最近一次更新時的時間戳記。請注意,這項資訊僅包含資料庫資源更新,不含資料庫包含的資料。

RFC3339 世界標準時間「Zulu」的時間戳記格式,解析度不超過奈秒,最多 9 個小數位數。範例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

deleteTime

string (Timestamp format)

僅供輸出。刪除這個資料庫的時間戳記。只有在刪除資料庫時才設定。

RFC3339 世界標準時間「Zulu」的時間戳記格式,解析度不超過奈秒,最多 9 個小數位數。範例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

locationId

string

資料庫的位置。如需查看服務範圍,請參閱 https://cloud.google.com/firestore/docs/locations

type

enum (DatabaseType)

資料庫的類型。如要瞭解如何選擇,請參閱 https://cloud.google.com/datastore/docs/firestore-or-datastore

concurrencyMode

enum (ConcurrencyMode)

此資料庫要使用的並行控制模式。

versionRetentionPeriod

string (Duration format)

僅供輸出。過往資料版本保留在資料庫中的時間範圍。

任何 readquery 都可以在此視窗中指定 readTime,並讀取當時的資料庫狀態。

如果啟用時間點復原功能,保留期限為 7 天。否則,保留期限為 1 小時。

持續時間以秒為單位,最多 9 個小數位數,結尾為「s」。範例:"3.5s"

earliestVersionTime

string (Timestamp format)

僅供輸出。從資料庫讀取舊版資料之最早的時間戳記。請參閱上方的 [versionRetentionPeriod];這個欄位會填入 now - versionRetentionPeriod

這個值會持續更新,且會在查詢時過時。如果您要使用這個值復原資料,請務必考量您查詢該值到啟動復原作業的當下時間。

RFC3339 世界標準時間「Zulu」的時間戳記格式,解析度不超過奈秒,最多 9 個小數位數。範例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

pointInTimeRecoveryEnablement

enum (PointInTimeRecoveryEnablement)

是否啟用這個資料庫的時間點復原功能。

appEngineIntegrationMode

enum (AppEngineIntegrationMode)

要用於這個資料庫的 App Engine 整合模式。

keyPrefix

string

僅供輸出。這個資料庫的 keyPrefix。這個 keyPrefix 會與專案 ID (「~」) 搭配使用,藉此建構 Google App Engine 第一代執行階段中 Cloud Datastore API 傳回的應用程式 ID。

如果這個值空白,代表網址編碼金鑰的 appid 是 projectId (例如:foo,而非 v~foo)。

deleteProtectionState

enum (DeleteProtectionState)

資料庫的防刪除功能狀態。

cmekConfig

object (CmekConfig)

選用設定。如有設定,代表這個資料庫已啟用 CMEK。

previousId

string

僅供輸出。資料庫資源的舊資料庫 ID。只有已刪除的資料庫會填入這個欄位。

etag

string

伺服器會根據其他欄位的值計算這個總和檢查碼,也可能在更新和刪除要求時傳送,確保用戶端已取得最新的值再繼續。

DatabaseType

資料庫的類型。如要瞭解如何選擇,請參閱 https://cloud.google.com/datastore/docs/firestore-or-datastore

只有在資料庫中沒有任何內容時,才能變更模式。

列舉
DATABASE_TYPE_UNSPECIFIED 預設值。如果省略資料庫類型,則會使用這個值。
FIRESTORE_NATIVE Firestore 原生模式
DATASTORE_MODE 以及 Datastore 模式的 Firestore。

並行模式

交易的並行控制模式類型。

列舉
CONCURRENCY_MODE_UNSPECIFIED 未使用。
OPTIMISTIC 根據預設,請使用樂觀並行控制項。這個模式適用於 Cloud Firestore 資料庫。
PESSIMISTIC

根據預設,使用負面並行控制。這個模式適用於 Cloud Firestore 資料庫。

這是 Cloud Firestore 的預設設定。

OPTIMISTIC_WITH_ENTITY_GROUPS

根據預設,使用實體群組搭配樂觀並行控制。

這是 Cloud Datastore 唯一可用的模式。

此模式也適用於具備 Datastore 模式的 Cloud Firestore,但不建議使用。

PointInTimeRecovery 啟用

啟用「時間點復原」功能。

列舉
POINT_IN_TIME_RECOVERY_ENABLEMENT_UNSPECIFIED 未使用。
POINT_IN_TIME_RECOVERY_ENABLED

系統支援讀取過去 7 天內特定資料版本的資料:

  • 讀取過去 1 小時內的任何時間戳記
  • 依據 1 小時超過 1 小時的 7 天時間讀取超過 1 分鐘的快照

versionRetentionPeriodearliestVersionTime 可用來判斷支援的版本。

POINT_IN_TIME_RECOVERY_DISABLED 系統支援讀取過去 1 小時內任何版本的資料。

AppEngineIntegrationMode

App Engine 整合模式類型。

列舉
APP_ENGINE_INTEGRATION_MODE_UNSPECIFIED 未使用。
ENABLED 如果 App Engine 應用程式與這個資料庫位於相同區域,App Engine 設定就會影響這個資料庫。包括停用應用程式;以及並停用對資料庫的寫入功能
DISABLED

App Engine 不會影響這個資料庫處理要求的能力。

這是使用 Firestore API 建立的資料庫的預設設定。

DeleteProtectionState

資料庫的防刪除功能狀態。

列舉
DELETE_PROTECTION_STATE_UNSPECIFIED 預設值。未指定刪除防護類型
DELETE_PROTECTION_DISABLED 防刪除功能已停用
DELETE_PROTECTION_ENABLED 防刪除功能已啟用

CmekConfig

Firestore 資料庫的 CMEK (客戶自行管理的加密金鑰) 設定。如果沒有,表示資料庫受到預設的 Google 加密金鑰保護。

JSON 表示法
{
  "kmsKeyName": string,
  "activeKeyVersion": [
    string
  ]
}
欄位
kmsKeyName

string

執行個體類型,只有在與這個資料庫位於相同位置的金鑰才能用於加密。

如果是 Firestore 的 Nam5 多區域,這相當於 Cloud KMS 多區域。如果是 Firestore 的 eur3 多區域,這個欄位會對應至 Cloud KMS 多區域 (europe)。請參閱 https://cloud.google.com/kms/docs/locations

預期格式為 projects/{projectId}/locations/{kms_location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}

activeKeyVersion[]

string

僅供輸出。目前使用的 KMS 金鑰版本。在金鑰輪替期間,可以有多個使用中的金鑰版本。

預期格式為 projects/{projectId}/locations/{kms_location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{key_version}

方法

create

建立資料庫。

delete

刪除資料庫。

exportDocuments

這個外掛程式能將 Google Cloud Firestore 中全部或部分文件的副本匯出至其他儲存系統,例如 Google Cloud Storage。

get

取得資料庫相關資訊。

importDocuments

將文件匯入 Google Cloud Firestore。

list

列出專案中的所有資料庫。

patch

更新資料庫。

restore

從現有的備份還原,建立新資料庫。