REST Resource: projects.databases

Recurso: Base de datos

Una base de datos de Cloud Firestore

Representación 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
}
Campos
name

string

El nombre del recurso de la base de datos. Formato: projects/{project}/databases/{database}

uid

string

Solo salida. El UUID4 generado por el sistema para esta base de datos.

createTime

string (Timestamp format)

Solo salida. La marca de tiempo en la que se creó esta base de datos. Las bases de datos creadas antes de 2016 no propagan createTime.

Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Solo salida. La marca de tiempo en la que se actualizó esta base de datos por última vez. Ten en cuenta que esto solo incluye actualizaciones del recurso de la base de datos y no de los datos que contiene la base de datos.

Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

deleteTime

string (Timestamp format)

Solo salida. La marca de tiempo en la que se borró esta base de datos. Solo se configura si se borró la base de datos.

Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

locationId

string

La ubicación de la base de datos. Las ubicaciones disponibles se detallan en https://cloud.google.com/firestore/docs/locations.

type

enum (DatabaseType)

Es el tipo de base de datos. Consulta https://cloud.google.com/datastore/docs/firestore-or-datastore para obtener más información sobre cómo elegir las opciones.

concurrencyMode

enum (ConcurrencyMode)

El modo de control de simultaneidad que se usará para esta base de datos.

versionRetentionPeriod

string (Duration format)

Solo salida. El período durante el cual se retienen las versiones anteriores de los datos en la base de datos.

Cualquier read o query puede especificar un readTime dentro de esta ventana y leerá el estado de la base de datos en ese momento.

Si la función de PITR está habilitada, el período de retención es de 7 días. De lo contrario, el período de retención es de 1 hora.

Una duración en segundos con hasta nueve dígitos decimales, que terminan en “s”. Ejemplo: "3.5s".

earliestVersionTime

string (Timestamp format)

Solo salida. La marca de tiempo más antigua en la que se pueden leer versiones anteriores de los datos desde la base de datos. Consulta [versionRetentionPeriod] más arriba. este campo se propaga con now - versionRetentionPeriod.

Este valor se actualiza de forma continua y se vuelve obsoleto en el momento en que se consulta. Si usas este valor para recuperar datos, asegúrate de tener en cuenta el tiempo desde el momento en que se consulta el valor hasta el momento en que inicias la recuperación.

Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

pointInTimeRecoveryEnablement

enum (PointInTimeRecoveryEnablement)

Establece si se habilita la función PITR en esta base de datos.

appEngineIntegrationMode

enum (AppEngineIntegrationMode)

El modo de integración de App Engine que se usará para esta base de datos.

keyPrefix

string

Solo salida. El keyPrefix para esta base de datos. Este keyPrefix se usa junto con el ID del proyecto ("~") para crear el ID de aplicación que se muestra desde las APIs de Cloud Datastore en los entornos de ejecución de primera generación de Google App Engine.

Este valor puede estar vacío, en cuyo caso el ID de aplicación que se usará para las claves codificadas en URL es el projectId (p. ej., foo en lugar de v~foo).

deleteProtectionState

enum (DeleteProtectionState)

Estado de la protección contra eliminaciones de la base de datos.

cmekConfig

object (CmekConfig)

Opcional. La presencia indica que CMEK está habilitada para esta base de datos.

previousId

string

Solo salida. El ID de la base de datos anterior del recurso de base de datos. Este campo solo se propaga para las bases de datos borradas.

etag

string

El servidor calcula esta suma de comprobación en función del valor de otros campos, y es posible que se envíe en solicitudes de actualización y eliminación para garantizar que el cliente tenga un valor actualizado antes de continuar.

DatabaseType

Es el tipo de base de datos. Consulta https://cloud.google.com/datastore/docs/firestore-or-datastore para obtener más información sobre cómo elegir las opciones.

Los cambios de modo solo se permiten si la base de datos está vacía.

Enums
DATABASE_TYPE_UNSPECIFIED Es el valor predeterminado. Este valor se usa si se omite el tipo de base de datos.
FIRESTORE_NATIVE Modo nativo de Firestore
DATASTORE_MODE Firestore en modo Datastore.

ConcurrencyMode

Es el tipo de modo de control de simultaneidad para transacciones.

Enums
CONCURRENCY_MODE_UNSPECIFIED No se usa.
OPTIMISTIC Usa el control de simultaneidad optimista de forma predeterminada. Este modo está disponible para las bases de datos de Cloud Firestore.
PESSIMISTIC

Usa el control de simultaneidad pesimista de forma predeterminada. Este modo está disponible para las bases de datos de Cloud Firestore.

Esta es la configuración predeterminada de Cloud Firestore.

OPTIMISTIC_WITH_ENTITY_GROUPS

Usar control de simultaneidad optimista con grupos de entidades de forma predeterminada

Este es el único modo disponible para Cloud Datastore.

Este modo también está disponible para Cloud Firestore con modo Datastore, pero no se recomienda.

Habilitación de la recuperación de un momento determinado

Habilitación de la función Recuperación de un momento determinado.

Enums
POINT_IN_TIME_RECOVERY_ENABLEMENT_UNSPECIFIED No se usa.
POINT_IN_TIME_RECOVERY_ENABLED

Las lecturas son compatibles con las versiones seleccionadas de los datos de los últimos 7 días:

  • Lee comparadas con cualquier marca de tiempo en la última hora
  • Realiza lecturas en instantáneas de 1 minuto luego de una hora y en un plazo de 7 días

Se pueden usar versionRetentionPeriod y earliestVersionTime para determinar las versiones compatibles.

POINT_IN_TIME_RECOVERY_DISABLED Las lecturas son compatibles con cualquier versión de los datos de la última hora.

Modo de integración de AppEngine

El tipo de modo de integración de App Engine.

Enums
APP_ENGINE_INTEGRATION_MODE_UNSPECIFIED No se usa.
ENABLED Si una aplicación de App Engine existe en la misma región que esta base de datos, la configuración de App Engine afectará esta base de datos. Esto incluye inhabilitar la aplicación y e inhabilitar operaciones de escritura en ella.
DISABLED

App Engine no tiene efecto en la capacidad de esta base de datos para entregar solicitudes.

Este es el parámetro de configuración predeterminado para las bases de datos creadas con la API de Firestore.

DeleteProtectionState

El estado de protección contra eliminaciones de la base de datos.

Enums
DELETE_PROTECTION_STATE_UNSPECIFIED Es el valor predeterminado. No se especificó el tipo de protección de borrado
DELETE_PROTECTION_DISABLED La protección contra el borrado está inhabilitada
DELETE_PROTECTION_ENABLED La protección contra el borrado está habilitada

CmekConfig

La configuración de CMEK (clave de encriptación administrada por el cliente) para una base de datos de Firestore. Si no está presente, la base de datos se protege con la clave de encriptación predeterminada de Google.

Representación JSON
{
  "kmsKeyName": string,
  "activeKeyVersion": [
    string
  ]
}
Campos
kmsKeyName

string

Obligatorio. Solo se permite usar para la encriptación las claves que se encuentren en la misma ubicación que esta base de datos.

Para la multirregión nam5 de Firestore, corresponde a la multirregión us de Cloud KMS. Para la multirregión eur3 de Firestore, esto corresponde a la europa multirregional de Cloud KMS. Consulta https://cloud.google.com/kms/docs/locations.

El formato esperado es projects/{projectId}/locations/{kms_location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}.

activeKeyVersion[]

string

Solo salida. Versiones de claves de KMS en uso actualmente. Durante la rotación de claves, puede haber varias versiones de claves en uso.

El formato esperado es projects/{projectId}/locations/{kms_location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{key_version}.

Métodos

create

Crea una base de datos.

delete

Borra una base de datos.

exportDocuments

Exporta una copia de todos los documentos o un subconjunto de ellos de Google Cloud Firestore a otro sistema de almacenamiento, como Google Cloud Storage.

get

Obtiene información sobre una base de datos.

importDocuments

Importa documentos a Google Cloud Firestore.

list

Haz una lista de todas las bases de datos del proyecto.

patch

Actualiza una base de datos.

restore

Crea una base de datos nueva mediante el restablecimiento desde una copia de seguridad existente.