REST Resource: projects.databases

资源:数据库

Cloud Firestore 数据库。

JSON 表示法
{
  "name": string,
  "uid": string,
  "createTime": string,
  "updateTime": 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)
  },
  "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"

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)

仅供输出。可从数据库中读取旧版数据的最早时间戳。请参阅上文的 [version 保留 Period];此字段填充了 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。

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,但不建议使用。

时间点恢复启用

时间点恢复功能启用。

枚举
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 创建的数据库的默认设置。

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 多区域 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

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