Package google.firestore.admin.v1

索引

FirestoreAdmin

Cloud Firestore Admin API。

此 API 为 Cloud Firestore 提供了多项管理服务。

按照 Google Cloud Firestore API 中的定义,使用项目、数据库、命名空间、集合、集合组和文档。

操作:操作表示在后台执行的工作。

索引服务管理 Cloud Firestore 索引。

索引创建是异步执行的。系统会为每个此类异步操作创建一个 Operation 资源。可以通过 Operation 资源查询操作状态(包括遇到的任何错误)。

“操作”集合用于记录对指定项目执行的操作(包括任何正在进行的操作)。操作不是直接创建的,而是通过调用其他集合或资源创建的。

已完成的操作可以删除,这样它就不再列于 Operation 集合中。操作在 30 天后进行垃圾回收。默认情况下,ListOperations 仅返回进行中和失败的操作。如需列出已完成的操作,请使用过滤条件 done: true 发出 ListOperations 请求。

操作由服务 FirestoreAdmin 创建,但通过服务 google.longrunning.Operations 访问。

CreateBackupSchedule

rpc CreateBackupSchedule(CreateBackupScheduleRequest) returns (BackupSchedule)

根据数据库创建备份时间表。一个数据库可以配置最多两个备份时间表,每日备份时间表(保留时间最多 7 天)和每周备份时间表(保留时间最多 14 周)。

授权范围

需要以下 OAuth 范围之一:

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

如需了解详情,请参阅身份验证概览

CreateDatabase

rpc CreateDatabase(CreateDatabaseRequest) returns (Operation)

创建数据库。

授权范围

需要以下 OAuth 范围之一:

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

如需了解详情,请参阅身份验证概览

CreateIndex

rpc CreateIndex(CreateIndexRequest) returns (Operation)

创建复合索引。这将返回一个 google.longrunning.Operation,可用于跟踪创建操作的状态。操作的元数据将类型为 IndexOperationMetadata

授权范围

需要以下 OAuth 范围之一:

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

如需了解详情,请参阅身份验证概览

DeleteBackup

rpc DeleteBackup(DeleteBackupRequest) returns (Empty)

删除备份。

授权范围

需要以下 OAuth 范围之一:

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

如需了解详情,请参阅身份验证概览

DeleteBackupSchedule

rpc DeleteBackupSchedule(DeleteBackupScheduleRequest) returns (Empty)

删除备份时间表。

授权范围

需要以下 OAuth 范围之一:

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

如需了解详情,请参阅身份验证概览

DeleteDatabase

rpc DeleteDatabase(DeleteDatabaseRequest) returns (Operation)

删除数据库。

授权范围

需要以下 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 中。

如需详细了解导出行为和输出格式,请参阅:https://cloud.google.com/firestore/docs/manage-data/export-import

授权范围

需要以下 OAuth 范围之一:

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

如需了解详情,请参阅身份验证概览

GetBackup

rpc GetBackup(GetBackupRequest) returns (Backup)

获取有关备份的信息。

授权范围

需要以下 OAuth 范围之一:

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

如需了解详情,请参阅身份验证概览

GetBackupSchedule

rpc GetBackupSchedule(GetBackupScheduleRequest) returns (BackupSchedule)

获取有关备份时间表的信息。

授权范围

需要以下 OAuth 范围之一:

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

如需了解详情,请参阅身份验证概览

GetDatabase

rpc GetDatabase(GetDatabaseRequest) returns (Database)

获取有关数据库的信息。

授权范围

需要以下 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

如需了解详情,请参阅身份验证概览

ListBackupSchedules

rpc ListBackupSchedules(ListBackupSchedulesRequest) returns (ListBackupSchedulesResponse)

列出备份时间表。

授权范围

需要以下 OAuth 范围之一:

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

如需了解详情,请参阅身份验证概览

ListBackups

rpc ListBackups(ListBackupsRequest) returns (ListBackupsResponse)

列出所有备份。

授权范围

需要以下 OAuth 范围之一:

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

如需了解详情,请参阅身份验证概览

ListDatabases

rpc ListDatabases(ListDatabasesRequest) returns (ListDatabasesResponse)

列出项目中的所有数据库。

授权范围

需要以下 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:falsettlConfig:*

授权范围

需要以下 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

如需了解详情,请参阅身份验证概览

RestoreDatabase

rpc RestoreDatabase(RestoreDatabaseRequest) returns (Operation)

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

新数据库必须与现有备份位于同一云端区域或多区域位置。其行为类似于 [FirestoreAdmin.CreateDatabase][google.firestore.admin.v1.CreateDatabase],但会使用数据库类型、索引配置和现有备份中的文档创建新数据库,而不是创建新的空数据库。

long-running operation 可用于跟踪恢复进度,操作的 metadata 字段类型为 RestoreDatabaseMetadata。如果恢复成功,response 类型为 Database。在 LRO 完成之前,新数据库无法读取或写入。

授权范围

需要以下 OAuth 范围之一:

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

如需了解详情,请参阅身份验证概览

UpdateBackupSchedule

rpc UpdateBackupSchedule(UpdateBackupScheduleRequest) returns (BackupSchedule)

更新备份时间表。

授权范围

需要以下 OAuth 范围之一:

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

如需了解详情,请参阅身份验证概览

UpdateDatabase

rpc UpdateDatabase(UpdateDatabaseRequest) returns (Operation)

更新数据库。

授权范围

需要以下 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

如需了解详情,请参阅身份验证概览

备份

Cloud Firestore 数据库的备份。

备份包含指定数据库在特定时间点的所有文档和索引配置。

字段
name

string

仅供输出。备份的唯一资源名称。

格式为 projects/{project}/locations/{location}/backups/{backup}

database

string

仅供输出。备份来源的 Firestore 数据库的名称。

格式为 projects/{project}/databases/{database}

database_uid

string

仅供输出。系统为备份来源的 Firestore 数据库生成的 UUID4。

snapshot_time

Timestamp

仅供输出。此时,备份包含外部一致的数据库副本。

expire_time

Timestamp

仅供输出。此备份到期的时间戳。

state

State

仅供输出。备份的当前状态。

状态

指示备份的当前状态。

枚举
STATE_UNSPECIFIED 未指定状态。
CREATING 待处理的备份仍在创建中。在此状态下,对备份执行的操作将被拒绝。
READY 备份已完成,可以使用了。
NOT_AVAILABLE 目前无法备份。

BackupSchedule

Cloud Firestore 数据库的备份时间表。

此资源由它正在备份的数据库拥有,并与数据库一起删除。但实际备份并非如此。

字段
name

string

仅供输出。给定项目所有位置和数据库中的唯一备份时间表标识符。

系统会自动分配此 ID。

格式为 projects/{project}/databases/{database}/backupSchedules/{backup_schedule}

create_time

Timestamp

仅供输出。此备份时间表创建及生效的时间戳。

在此时间之前,系统不会为此时间表创建备份。

update_time

Timestamp

仅供输出。此备份时间表最近一次更新的时间戳。首次创建备份时间表时,此值与 create_time 相同。

retention

Duration

应在未来的相对时间(相对于其创建时间)删除备份,例如,将备份保留 7 天。

联合字段 recurrence。用于表示何时进行备份的 oneof 字段。recurrence 只能是下列其中一项:
daily_recurrence

DailyRecurrence

适用于每天运行的时间表。

weekly_recurrence

WeeklyRecurrence

针对每周在特定日期运行的时间表。

CreateBackupScheduleRequest

FirestoreAdmin.CreateBackupSchedule 的请求。

字段
parent

string

必需。父级数据库。

projects/{project}/databases/{database}格式化

backup_schedule

BackupSchedule

必需。要创建的备份时间表。

CreateDatabaseMetadata

此类型没有任何字段。

与创建数据库操作相关的元数据。

CreateDatabaseRequest

FirestoreAdmin.CreateDatabase 的请求。

字段
parent

string

必需。格式为 projects/{project_id} 的父级名称

database

Database

必需。要创建的数据库。

database_id

string

必需。用于数据库的 ID,该 ID 将成为数据库资源名称的最后一个组成部分。

此值应为 4-63 个字符。有效字符为 /[a-z][0-9]-/,第一个字符为字母,最后一个字符为字母或数字。不得采用类似 UUID 的 /[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}/。

“(default)”数据库 ID 也有效。

CreateIndexRequest

FirestoreAdmin.CreateIndex 的请求。

字段
parent

string

必需。格式为 projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id} 的父级名称

index

Index

必需。要创建的复合索引。

DailyRecurrence

此类型没有任何字段。

表示在每天特定时间运行的周期性时间表。

时区为世界协调时间 (UTC)。

数据库

Cloud Firestore 数据库。

字段
name

string

数据库的资源名称。格式:projects/{project}/databases/{database}

uid

string

仅供输出。系统为此数据库生成的 UUID4。

create_time

Timestamp

仅供输出。创建此数据库的时间戳。2016 年之前创建的数据库不会填充 create_time。

update_time

Timestamp

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

location_id

string

数据库的位置。如需了解可用位置,请参阅 https://cloud.google.com/firestore/docs/locations

type

DatabaseType

数据库的类型。如需了解如何选择,请参阅 https://cloud.google.com/datastore/docs/firestore-or-datastore

concurrency_mode

ConcurrencyMode

用于此数据库的并发控制模式。

version_retention_period

Duration

仅供输出。过往数据版本在数据库中保留的时间段。

任何 readquery 都可以在此窗口中指定 read_time,并读取当时的数据库状态。

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

earliest_version_time

Timestamp

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

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

point_in_time_recovery_enablement

PointInTimeRecoveryEnablement

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

app_engine_integration_mode

AppEngineIntegrationMode

用于此数据库的 App Engine 集成模式。

key_prefix

string

仅供输出。此数据库的 key_prefix。此 key_prefix 与项目 ID(“~”)结合使用,用于构建从 Google App Engine 第一代运行时中的 Cloud Datastore API 返回的应用 ID。

在这种情况下,用于网址编码密钥的 appid 是 project_id(例如:foo,而不是 v~foo)。

delete_protection_state

DeleteProtectionState

数据库的删除保护状态。

etag

string

该校验和由服务器根据其他字段的值计算,并且可能会在更新和删除请求时发送,以确保客户端在继续操作之前具有最新的值。

AppEngineIntegrationMode

App Engine 集成模式的类型。

枚举
APP_ENGINE_INTEGRATION_MODE_UNSPECIFIED 未使用。
ENABLED 如果 App Engine 应用与此数据库位于同一区域,App Engine 配置将影响此数据库。这包括停用应用和数据库,以及停用写入数据库。
DISABLED

App Engine 对此数据库处理请求的能力没有影响。

这是使用 Firestore API 创建的数据库的默认设置。

ConcurrencyMode

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

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

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

这是 Cloud Firestore 的默认设置。

OPTIMISTIC_WITH_ENTITY_GROUPS

默认对实体群组使用乐观并发控制。

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

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

DatabaseType

数据库的类型。如需了解如何选择,请参阅 https://cloud.google.com/datastore/docs/firestore-or-datastore

仅当数据库为空时,才能更改模式。

枚举
DATABASE_TYPE_UNSPECIFIED 默认值。如果省略数据库类型,则使用此值。
FIRESTORE_NATIVE Firestore 原生模式
DATASTORE_MODE Datastore 模式 Firestore。

DeleteProtectionState

数据库的删除保护状态。

枚举
DELETE_PROTECTION_STATE_UNSPECIFIED 默认值。未指定删除保护类型
DELETE_PROTECTION_DISABLED 删除保护功能已停用
DELETE_PROTECTION_ENABLED “删除保护”功能已启用

PointInTimeRecoveryEnablement

时间点恢复功能启用。

枚举
POINT_IN_TIME_RECOVERY_ENABLEMENT_UNSPECIFIED 未使用。
POINT_IN_TIME_RECOVERY_ENABLED

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

  • 根据过去一小时内的任何时间戳进行读取
  • 针对 1 小时之后和 7 天内的 1 分钟快照进行读取

version_retention_periodearliest_version_time 可用于确定支持的版本。

POINT_IN_TIME_RECOVERY_DISABLED 系统支持读取过去 1 小时内任何版本的数据。

DeleteBackupRequest

FirestoreAdmin.DeleteBackup 的请求。

字段
name

string

必需。要删除的备份的名称。

格式为 projects/{project}/locations/{location}/backups/{backup}

DeleteBackupScheduleRequest

对 [FirestoreAdmin.DeleteBackupSchedules][] 的请求。

字段
name

string

必需。备份时间表的名称。

projects/{project}/databases/{database}/backupSchedules/{backup_schedule}格式化

DeleteDatabaseMetadata

此类型没有任何字段。

与删除数据库操作相关的元数据。

DeleteDatabaseRequest

FirestoreAdmin.DeleteDatabase 的请求。

字段
name

string

必需。格式为 projects/{project_id}/databases/{database_id} 的名称

etag

string

数据库的当前 etag。如果提供的 etag 与数据库的当前 etag 不匹配,系统将阻止删除操作,并返回 FAILED_PRECONDITION 错误。

DeleteIndexRequest

FirestoreAdmin.DeleteIndex 的请求。

字段
name

string

必需。格式为 projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id} 的名称

ExportDocumentsMetadata

来自 FirestoreAdmin.ExportDocumentsgoogle.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

文档要导出到的位置。

namespace_ids[]

string

要导出哪些命名空间 ID。

snapshot_time

Timestamp

与要导出的数据库版本对应的时间戳。如果未指定,则无法保证所导出文档的一致性。

ExportDocumentsRequest

FirestoreAdmin.ExportDocuments 的请求。

字段
name

string

必需。要导出的数据库。应采用以下格式:projects/{project_id}/databases/{database_id}

collection_ids[]

string

要导出哪些集合 ID。“未指定”表示所有集合。

output_uri_prefix

string

输出 URI。目前仅支持 gs://BUCKET_NAME[/NAMESPACE_PATH] 形式的 Google Cloud Storage URI,其中 BUCKET_NAME 是 Google Cloud Storage 存储分区的名称,NAMESPACE_PATH 是可选的 Google Cloud Storage 命名空间路径。选择名称时,请务必遵循 Google Cloud Storage 的命名准则:https://cloud.google.com/storage/docs/naming。如果 URI 是一个存储分区(没有命名空间路径),系统将根据开始时间生成一个前缀。

namespace_ids[]

string

空列表表示所有命名空间。这是不使用命名空间的数据库的首选用法。

空字符串元素表示默认命名空间。如果数据库在非默认命名空间中有数据,但您不希望包含这些数据,则应使用此方法。此列表中的每个命名空间都必须是唯一的。

snapshot_time

Timestamp

与要导出的数据库版本对应的时间戳。时间戳必须是过去的时间戳,四舍五入到分钟,并且不早于 earliestVersionTime。如果指定,则导出的文档将代表指定时间的一致数据库视图。否则,我们无法保证所导出文档的一致性。

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 包含所有字段的默认索引编制设置。此字段的资源名称为:projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/*。在此 Field 中定义的索引将应用于自身没有 Field 索引配置的所有字段。

index_config

IndexConfig

此字段的索引配置。如果未设置,字段索引编制将还原为 ancestor_field 定义的配置。如需明确移除此字段的所有索引,请使用空索引列表指定索引配置。

ttl_config

TtlConfig

Field 的 TTL 配置。设置或取消设置此值后,系统会为具有此 Field 的文档启用或停用 TTL。

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_config 将变为 truereverting 将变为 false

TtlConfig

设置了此 Field 的文档的 TTL(存留时间)配置。

将时间戳值存储到启用 TTL 的字段将被视为文档的绝对到期时间。过去的时间戳值表示文档符合立即到期的条件。使用任何其他数据类型或省略该字段将停用单个文档的到期时间。

字段
state

State

仅供输出。TTL 配置的状态。

状态

将 TTL 配置应用于所有文档的状态。

枚举
STATE_UNSPECIFIED 状态未指定或未知。
CREATING 正在应用 TTL。有一项正在进行的长时间运行的操作来跟踪更改。新写入的文档将根据需要应用 TTL。仍在处理现有文档请求的 TTL。当所有现有文档的 TTL 均已处理完毕后,状态将变为“ACTIVE”。
ACTIVE TTL 对所有文档都有效。
NEEDS_REPAIR 无法为所有现有文档启用 TTL 配置。新写入的文档将继续应用其 TTL。上次尝试为此 Field 启用 TTL 失败时返回的 LRO,可能有更多详细信息。

FieldOperationMetadata

来自 FirestoreAdmin.UpdateFieldgoogle.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

操作的状态。

progress_documents

Progress

此操作的进度(以文档计)。

progress_bytes

Progress

此操作的进度(以字节为单位)。

ttl_config_delta

TtlConfigDelta

描述 TTL 配置的增量。

IndexConfigDelta

有关索引配置更改的信息。

字段
change_type

ChangeType

指定索引的变化方式。

index

Index

要更改的索引。

ChangeType

指定索引的变化方式。

枚举
CHANGE_TYPE_UNSPECIFIED 更改类型未指定或未知。
ADD 正在添加单字段索引。
REMOVE 单字段索引即将移除。

TtlConfigDelta

TTL 配置更改的相关信息。

字段
change_type

ChangeType

指定如何更改 TTL 配置。

ChangeType

指定如何更改 TTL 配置。

枚举
CHANGE_TYPE_UNSPECIFIED 更改类型未指定或未知。
ADD 正在添加 TTL 配置。
REMOVE 正在移除 TTL 配置。

GetBackupRequest

FirestoreAdmin.GetBackup 的请求。

字段
name

string

必需。要获取的备份的名称。

格式为 projects/{project}/locations/{location}/backups/{backup}

GetBackupScheduleRequest

FirestoreAdmin.GetBackupSchedule 的请求。

字段
name

string

必需。备份时间表的名称。

projects/{project}/databases/{database}/backupSchedules/{backup_schedule}格式化

GetDatabaseRequest

FirestoreAdmin.GetDatabase 的请求。

字段
name

string

必需。格式为 projects/{project_id}/databases/{database_id} 的名称

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.ImportDocumentsgoogle.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

要导入的文档的位置。

namespace_ids[]

string

正在导入哪些命名空间 ID。

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

namespace_ids[]

string

空列表表示所有命名空间。这是不使用命名空间的数据库的首选用法。

空字符串元素表示默认命名空间。如果数据库在非默认命名空间中有数据,但您不希望包含这些数据,则应使用此方法。此列表中的每个命名空间都必须是唯一的。

索引

借助 Cloud Firestore 索引,您可以对数据库中的文档执行简单和复杂的查询。

字段
name

string

仅供输出。服务器为此索引定义的名称。复合索引的此名称格式为:projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{composite_index_id}。对于单字段索引,此字段将为空。

query_scope

QueryScope

如果索引指定了集合查询范围,则索引支持对作为特定文档的子项、在查询时指定且具有相同集合 ID 的集合进行查询。

如果索引指定了集合组查询范围,则索引允许查询来自特定文档、在查询时指定并且与此索引具有相同集合 ID 的所有集合。

api_scope

ApiScope

此索引支持的 API 范围。

fields[]

IndexField

此索引支持的字段。

对于复合索引,这至少需要 2 个字段,最多 100 个字段。最后一个字段条目始终针对字段路径 __name__。如果在创建时未指定 __name__ 作为最后一个字段,系统将按照与定义的最后一个字段相同的方向自动添加该字段。如果复合索引中的最后一个字段没有方向性,则 __name__ 将按升序排列(除非明确指定)。

对于单字段索引,此字段始终只有一个条目,其字段路径等于关联字段的字段路径。

state

State

仅供输出。索引的服务状态。

ApiScope

API 范围定义了查询支持的 API(Firestore 原生或 Datastore 模式 Firestore)。

枚举
ANY_API 该索引只能由 Firestore Native Query API 使用。这是默认值。
DATASTORE_MODE_API 该索引只能由 Datastore 模式 Firestore 查询 API 使用。

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 的所有集合。
COLLECTION_RECURSIVE 将所有集合的祖先实体都包括在索引中。仅适用于 Datastore 模式数据库。

状态

索引的状态。在索引创建期间,索引将处于 CREATING 状态。如果索引创建成功,则会转换为 READY 状态。如果索引创建遇到问题,索引将转换为 NEEDS_REPAIR 状态。

枚举
STATE_UNSPECIFIED 未指定状态。
CREATING 正在创建索引。有一项正在进行的长时间运行的索引操作。写入文档时索引会更新。可能存在一些索引数据。
READY 索引已准备就绪,可供使用。写入文档时索引会更新。索引会根据其适用的所有存储文档完全填充。
NEEDS_REPAIR 正在创建索引,但出了点问题。索引没有正在进行的长时间运行的操作,并且最近完成的长时间运行的操作失败。写入文档时索引不会更新。可能存在一些索引数据。请使用 google.longrunning.Operations API 确定上次尝试创建此索引的操作失败的原因,然后重新创建索引。

IndexOperationMetadata

来自 FirestoreAdmin.CreateIndexgoogle.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

此操作的进度(以字节为单位)。

ListBackupSchedulesRequest

FirestoreAdmin.ListBackupSchedules 的请求。

字段
parent

string

必需。父级数据库。

格式为 projects/{project}/databases/{database}

ListBackupSchedulesResponse

FirestoreAdmin.ListBackupSchedules 的响应。

字段
backup_schedules[]

BackupSchedule

所有备份时间表的列表。

ListBackupsRequest

FirestoreAdmin.ListBackups 的请求。

字段
parent

string

必需。要列出其备份的位置。

格式为 projects/{project}/locations/{location}。使用 {location} = '-' 列出给定项目所有位置的备份。这允许列出单个位置或所有位置的备份。

ListBackupsResponse

FirestoreAdmin.ListBackups 的响应。

字段
backups[]

Backup

项目所有备份的列表。

unreachable[]

string

无法提取现有备份的位置列表。

当无法访问单个营业地点时,此响应不会使整个请求失败,而是会返回部分结果集和无法访问的营业地点列表。可以针对单个位置重试请求,以获取具体的错误。

ListDatabasesRequest

列出项目所有位置的 Firestore 数据库的请求。

字段
parent

string

必需。格式为 projects/{project_id} 的父级名称

ListDatabasesResponse

项目的数据库列表。

字段
databases[]

Database

项目中的数据库。

unreachable[]

string

如果无法列出各个数据库的数据,系统会在此处记录这些数据。

示例条目可能是:projects/some_project/locations/some_location。如果数据库所在的 Cloud 区域当前不可用,就可能会发生这种情况。在这种情况下,我们无法提取有关数据库的所有详细信息。通过针对资源发送“Get”请求或针对具体位置发送“List”请求,您或许可以获得更详细的错误消息(或者或许能够提取资源)。

ListFieldsRequest

FirestoreAdmin.ListFields 的请求。

字段
parent

string

必需。格式为 projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id} 的父级名称

filter

string

要应用于列表结果的过滤条件。目前,FirestoreAdmin.ListFields 仅支持已明确替换的列表字段。如需发出此查询,请使用包含 indexConfig.usesAncestorConfig:false 的过滤条件调用 FirestoreAdmin.ListFields

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

可用于请求另一页结果的页面令牌。如果留空,则表示最后一页。

LocationMetadata

此类型没有任何字段。

google.cloud.location.Location.metadata 的元数据消息。

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

完成的工作量。

RestoreDatabaseMetadata

[RestoreDatabase][google.firestore.admin.v1.RestoreDatabase] 请求中的 long-running operation 的元数据。

字段
start_time

Timestamp

开始恢复的时间。

end_time

Timestamp

恢复完成的时间,对于正在进行的恢复,未设置。

operation_state

OperationState

恢复的操作状态。

database

string

要恢复到的数据库的名称。

backup

string

从中恢复的备份的名称。

progress_percentage

Progress

恢复过程中的剩余时间估计占剩余时间的百分比。

RestoreDatabaseRequest

[FirestoreAdmin.RestoreDatabase][google.firestore.admin.v1.RestoreDatabase] 的请求消息。

字段
parent

string

必需。要在其中恢复数据库的项目。格式为 projects/{project_id}

database_id

string

必需。用于数据库的 ID,该 ID 将成为数据库资源名称的最后一个组成部分。此数据库 ID 不得与现有数据库关联。

此值应为 4-63 个字符。有效字符为 /[a-z][0-9]-/,第一个字符为字母,最后一个字符为字母或数字。不得采用类似 UUID 的 /[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}/。

“(default)”数据库 ID 也有效。

联合字段 source

source 只能是下列其中一项:

backup

string

要从中恢复的备份。必须与父级来自同一项目。

格式为:projects/{project_id}/locations/{location}/backups/{backup}

UpdateBackupScheduleRequest

FirestoreAdmin.UpdateBackupSchedule 的请求。

字段
backup_schedule

BackupSchedule

必需。要更新的备份时间表。

update_mask

FieldMask

要更新的字段列表。

UpdateDatabaseMetadata

此类型没有任何字段。

与更新数据库操作相关的元数据。

UpdateDatabaseRequest

FirestoreAdmin.UpdateDatabase 的请求。

字段
database

Database

必需。要更新的数据库。

update_mask

FieldMask

要更新的字段列表。

UpdateFieldRequest

FirestoreAdmin.UpdateField 的请求。

字段
field

Field

必需。要更新的字段。

update_mask

FieldMask

相对于字段的掩码。如果指定,则仅在字段中更新此字段_mask 指定的配置。

WeeklyRecurrence

表示在一周的指定日期运行的周期性时间表。

时区为世界协调时间 (UTC)。

字段
day

DayOfWeek

在星期几进行投放。

不允许 DAY_OF_WEEK_UNSPECIFIED。