Package google.firestore.admin.v1

索引

FirestoreAdmin

Cloud Firestore Admin API。

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

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

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

索引服务用于管理 Cloud Firestore 索引。

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

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

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

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

CreateBackupSchedule

rpc CreateBackupSchedule(CreateBackupScheduleRequest) returns (BackupSchedule)

为数据库创建备份时间表。一个数据库最多可以配置两个备份计划:一个每日备份计划和一个每周备份计划。

授权范围

需要以下 OAuth 范围之一:

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

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

创建数据库

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

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

删除数据库

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

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

导出文档

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

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

获取数据库

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

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

获取索引

rpc GetIndex(GetIndexRequest) returns (Index)

获取复合索引。

授权范围

需要以下 OAuth 范围之一:

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

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

导入文档

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

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

ListField

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

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

列表索引

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 可用于跟踪恢复进度,其中 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

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

更新数据库

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 类型。

如需为数据库配置默认字段设置,请使用带有资源名称 projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/* 的特殊 Field

授权范围

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

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

系统会自动分配此项。

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

create_time

Timestamp

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

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

update_time

Timestamp

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

retention

Duration

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

支持的最长保留期限为 14 周。

联合字段 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 也有效。

创建索引请求

FirestoreAdmin.CreateIndex 的请求。

字段
parent

string

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

index

Index

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

每日重复

此类型没有字段。

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

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

数据库

Cloud Firestore 数据库。

字段
name

string

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

uid

string

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

create_time

Timestamp

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

update_time

Timestamp

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

delete_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

数据库的删除保护状态。

cmek_config

CmekConfig

可选。“在线状态”表示已为此数据库启用 CMEK。

previous_id

string

仅限输出。数据库资源的先前数据库 ID。系统只会针对已删除的数据库填充此字段。

etag

string

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

AppEngineIntegrationMode

App Engine 集成模式的类型。

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

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

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

CmekConfig

Firestore 数据库的 CMEK(客户管理的加密密钥)配置。如果不存在,则数据库将采用默认 Google 加密密钥进行保护。

字段
kms_key_name

string

必需。只有与此数据库位于同一位置的密钥才能用于加密。

对于 Firestore 的 nam5 多区域,这对应于 Cloud KMS 多区域 us。对于 Firestore 的 eur3 多区域,此字段对应于 Cloud KMS 多区域(欧洲)。请参阅 https://cloud.google.com/kms/docs/locations

格式应为 projects/{project_id}/locations/{kms_location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}

active_key_version[]

string

仅限输出。当前使用的 KMS 密钥版本。在密钥轮替期间,可能有多个使用中的密钥版本。

格式应为 projects/{project_id}/locations/{kms_location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{key_version}

ConcurrencyMode

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

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

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

这是 Cloud Firestore 的默认设置。

OPTIMISTIC_WITH_ENTITY_GROUPS

默认情况下,对 entity 组使用乐观并发控制。

这是 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。

删除保护状态

数据库的删除保护状态。

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

时间点恢复启用

启用时间点恢复功能。

枚举
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}

删除数据库元数据

此类型没有字段。

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

DeleteDatabaseRequest 类中的方法

FirestoreAdmin.DeleteDatabase 的请求。

字段
name

string

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

etag

string

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

删除索引请求

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。目前仅支持采用以下格式的 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 是存储分区(没有命名空间路径),系统将根据开始时间生成前缀。

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。

索引配置

此字段的索引配置。

字段
indexes[]

Index

此字段支持的索引。

uses_ancestor_config

bool

仅限输出。如果为 true,系统会根据 ancestor_field 指定的配置来设置 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 配置的增量。

索引配置增量

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

字段
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 执行操作。

vector_config

VectorConfig

表示此字段支持矢量的最近邻和距离运算。

ArrayConfig

支持的数组值配置。

枚举
ARRAY_CONFIG_UNSPECIFIED 索引不支持其他数组查询。
CONTAINS 索引支持数组包含查询。

顺序

支持的顺序。

枚举
ORDER_UNSPECIFIED 未指定顺序。选项无效。
ASCENDING 该字段按字段值升序排序。
DESCENDING 该字段按字段值降序排序。

VectorConfig

用于支持矢量搜索操作的索引配置

字段
dimension

int32

必需。此配置适用的矢量维度。

生成的索引将仅包含该维度的向量,并且可用于具有相同维度的向量搜索。

联合字段 type。所用索引的类型。type 只能是下列其中一项:
flat

FlatIndex

表示矢量索引是平面索引。

平面索引

此类型没有字段。

一种索引,用于将向量存储在平面数据结构中,并支持详尽搜索。

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} 的父级名称

show_deleted

bool

如果为 true,还会返回已删除的资源。

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:falsettlConfig:* 的过滤条件调用 FirestoreAdmin.ListFields

page_size

int32

要返回的结果数。

page_token

string

从上一次调用 FirestoreAdmin.ListFields 返回的页面令牌,可用于获取下一页结果。

列表字段响应

FirestoreAdmin.ListFields 的响应。

字段
fields[]

Field

所请求的字段。

next_page_token

string

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

列表索引请求

FirestoreAdmin.ListIndexes 的请求。

字段
parent

string

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

filter

string

要应用于列表结果的过滤条件。

page_size

int32

要返回的结果数。

page_token

string

从上一次调用 FirestoreAdmin.ListIndexes 返回的页面令牌,可用于获取下一页结果。

列表索引响应

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

相对于字段的掩码。指定后,只有此字段中的 field_mask 指定的配置才会更新。

每周重复

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

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

字段
day

DayOfWeek

星期几。

不允许 DAY_OF_WEEK_UNSPECIFIED。