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 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

updateTime

string (Timestamp format)

仅限输出。此数据库最近更新的时间戳。请注意,这仅包括对数据库资源的更新,而不包括数据库包含的数据。

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

deleteTime

string (Timestamp format)

仅限输出。删除此数据库的时间戳。仅在数据库已被删除时设置。

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"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,并将读取当时数据库的状态。

如果启用了 PITR 功能,则保留期限为 7 天。否则,保留期限为 1 小时。

该时长以秒为单位,最多包含九个小数位,以“s”结尾。示例:"3.5s"

earliestVersionTime

string (Timestamp format)

仅限输出。可从数据库中读取旧版本数据的最早时间戳。请参阅上面的 [versionRetentionPeriod];此字段填充了 now - versionRetentionPeriod

此值会持续更新,在被查询时就会过时。如果您使用该值恢复数据,请确保计算从发出查询到查询恢复那一刻这段时间。

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

pointInTimeRecoveryEnablement

enum (PointInTimeRecoveryEnablement)

是否对此数据库启用 PITR 功能。

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。

ConcurrencyMode

事务的并发控制模式的类型。

枚举
CONCURRENCY_MODE_UNSPECIFIED 未使用。
OPTIMISTIC 默认使用乐观并发控制。此模式适用于 Cloud Firestore 数据库。
PESSIMISTIC

默认使用悲观并发控制。此模式适用于 Cloud Firestore 数据库。

这是 Cloud Firestore 的默认设置。

OPTIMISTIC_WITH_ENTITY_GROUPS

默认情况下,将乐观并发控制与 entity 组搭配使用。

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

此模式也适用于采用 Datastore 模式的 Cloud Firestore,但不建议这样做。

时间点恢复启用

启用时间点恢复功能。

枚举
POINT_IN_TIME_RECOVERY_ENABLEMENT_UNSPECIFIED 未使用。
POINT_IN_TIME_RECOVERY_ENABLED

过去 7 天内所选版本的数据支持读取:

  • 根据过去一小时内的任何时间戳进行读取
  • 针对超过 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 创建的数据库的默认设置。

删除保护状态

数据库的删除保护状态。

枚举
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 多区域 us。对于 Firestore 的 eur3 多区域,此字段对应于 Cloud KMS 多区域(欧洲)。请参阅 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

通过从现有备份进行恢复来创建新数据库。