Notas de la versión

En esta página, se documentan las actualizaciones de producción de Cloud Datastore. Puedes revisar esta página de forma periódica para ver anuncios sobre las características nuevas o actualizadas, las correcciones de errores, los problemas conocidos y las funciones obsoletas.

Para recibir las últimas actualizaciones de productos, agrega la URL de esta página a tu lector de feeds.

22 de octubre de 2018

Compatibilidad con la región asia-east2 (Hong Kong)

22 de agosto de 2018

Cloud Datastore pronto hará que todas las apps de App Engine cumplan con los requisitos de IAM. Consulta los permisos de Cloud Datastore para App Engine. Antes, las aplicaciones de App Engine podían acceder siempre a las instancias de Cloud Datastore en el mismo proyecto.

Los requisitos de IAM de Cloud Datastore para App Engine se aplicarán a los proyectos creados después del 03/09/2018 y se implementarán de forma gradual en los proyectos existentes. Todos los proyectos cumplirán con los requisitos de IAM de Cloud Datastore para App Engine a partir del 12/10/2018.

8 de agosto de 2018

Ahora puedes crear una base de datos de Cloud Firestore en modo Datastore. El modo Datastore te permite usar las bibliotecas cliente de Cloud Datastore con una capa de almacenamiento mejorada de Cloud Firestore, lo que quita limitaciones de coherencia eventual.

Si tienes un proyecto de Cloud Datastore existente, consulta esta página sobre la actualización automática a Cloud Firestore.

10 de julio de 2018

Compatibilidad con la región us-west2 (Los Ángeles)

28 de febrero de 2018

Versión de disponibilidad general de la API de administración de Cloud Datastore v1, anteriormente en etapa Beta. Para obtener más información sobre el uso de este servicio, consulta los siguientes artículos:

La API de administración de Cloud Datastore v1beta1 ahora está obsoleta.

La función de copia de seguridad del administrador de Cloud Datastore está en eliminación gradual para dar paso a la importación y exportación en Cloud Datastore. Migra a la funcionalidad de importación y exportación administrada lo antes posible. Para ayudarte a realizar la transición, la función de copia de seguridad del administrador de Datastore seguirá disponible hasta el 28 de febrero de 2019.

30 de enero de 2018

Cuando comienzas una transacción con la API de datos de Cloud Datastore, ahora puedes usar un objeto TransactionOptions para especificar si la transacción es de solo lectura o de lectura y escritura.

Ahora cuando comienzas una transacción de lectura y escritura con la API de datos de Cloud Datastore, puedes especificar una previousTransaction que intentas volver a realizar.

Se agregó el campo transactionOptions al mensaje BeginTransactionRequest como parte de la API de datos.

10 de enero de 2018

Compatibilidad con la región northamerica-northeast1 (Montreal)

31 de octubre de 2017

Compatibilidad con la región asia-south1 (Bombay)

5 de septiembre de 2017

Compatibilidad con la región southamerica-east1 (São Paulo)

30 de agosto de 2017

Lanzamiento Beta inicial de la API de administración de Cloud Datastore v1.

Adiciones a la definición de la API:

Las adiciones a la herramienta de línea de comandos de gcloud entraron en vigor en la versión 169.0.0:

  • Se agregó gcloud beta datastore export para admitir la exportación de entidades.
  • Se agregó gcloud beta datastore import para admitir la importación de entidades.
  • Se agregó gcloud beta datastore operations cancel para admitir la cancelación de operaciones de larga duración.
  • Se agregó gcloud beta datastore operations delete para admitir la eliminación de operaciones larga duración.
  • Se agregó gcloud beta datastore operations describe para admitir la descripción de una operación completa de larga duración.
  • Se agregó gcloud beta datastore operations list se agregó para admitir listas de operaciones activas de larga duración.

1 de agosto de 2017

Compatibilidad con la región europe-west3 (Fráncfort).

18 de julio de 2017

Compatibilidad con la región australia-southeast1 (Sídney).

6 de junio de 2017

Compatibilidad con la región europe-west2 (Londres).

16 de agosto de 2016

Lanzamiento inicial de la API de Cloud Datastore v1

Se agregó el campo version al mensaje EntityResult como parte de la API v1 y la API v1beta3.

Manejo de errores en la API de Cloud Datastore v1:

  • Si intentas insertar una entidad que ya existe, se mostrará el código de error ALREADY_EXISTS. En v1beta3, se mostraba el error INVALID_ARGUMENT.
  • Si intentas actualizar una entidad que no existe, se mostrará el código de error NOT_FOUND. En v1beta3, se mostraba el error INVALID_ARGUMENT.

Debido a que se lanzó la API de Cloud Datastore v1, la API de Cloud Datastore v1beta3 ahora está obsoleta.

Abril de 2016

  • Lanzamiento inicial de la API de Cloud Datastore v1beta3
  • Cambios en la definición de la API:
    • La API ahora está definida en tres archivos proto: entity.proto, query.proto y datastore.proto.
    • Los archivos proto ahora usan la sintaxis proto3:
      • Los mapas se utilizan para varios campos (para obtener más detalles, lee a continuación).
      • Se agregó un valor con el sufijo _UNSPECIFIED igual a 0 a todas las enumeraciones.
      • oneof se usa para evitar la configuración de campos de exclusión mutua:
        • Los campos id y name del mensaje PathElement.
        • Los campos de valor del mensaje Value.
        • Los campos composite_filter y property_filter del tipo Filter.
        • Los campos value y cursor del mensaje GqlQueryParameter.
        • Los campos upsert, update, upsert y delete del mensaje Mutation.
    • Se agregó un campo de nivel superior project_id a todos los mensajes de solicitud. Este campo se propaga automáticamente para las solicitudes realizadas a través de HTTP.
    • Los campos repetidos ahora tienen nombres en plural:
      • En el mensaje CompositeFilter, filter ahora es filters.
      • En el mensaje QueryResultBatch, entity_result ahora es entity_results.
      • En el mensaje LookupRequest, key ahora es keys.
      • En el mensaje AllocateIdsRequest, key ahora es keys.
      • En el mensaje AllocateIdsResponse, key ahora es keys.
    • El nombre del paquete proto ahora incluye la versión de API.
    • Se realizaron los siguientes cambios en el mensaje PartitionId:
    • En el mensaje Key, el campo path_element ahora es path.
    • Se realizaron los siguientes cambios en el mensaje Value:
      • Los valores nulos se representan de manera explícita si se establece el campo null_value con el tipo com.protobuf.NullValue. Esto corrige el error https://github.com/GoogleCloudPlatform/google-cloud-datastore/issues/41.
      • El campo timestamp_microseconds_value ahora es timestamp_value con el tipo google.protobuf.Timestamp. En JSON, el campo dateTimeValue ahora es timestampValue. Este campo todavía está limitado a la precisión de microsegundos.
      • Se quitó el campo blob_key_value. Los valores que anteriormente se propagaban en ese campo en las API v1beta1 o v1beta2 en su lugar propagarán el campo string_value en la API v1beta3.
      • Se agregó el campo geo_point_value de tipo google.type.LatLng.
      • Se reemplazó el campo repetido list_value con el campo array_value de tipo ArrayValue.
      • El campo indexed, que por defecto era verdadero, ahora es exclude_from_indexes, que por defecto es falso.
    • Se quitó el mensaje Property. En el mensaje Entity, el campo repetido property ahora es el campo properties que es un mapa de string a Value.
    • El mensaje PropertyExpression ahora es Projection.
    • Se agregó un campo cursor de tipo bytes al mensaje EntityResult.
    • Se realizaron los siguientes cambios en el mensaje Query:
      • El campo group_by ahora es distinct_on.
      • El campo limit ahora es de tipo google.protobuf.Int32Value.
    • En el mensaje PropertyExpression, se quitó la enumeración AggregationFunction y el campo aggregation_function.
    • En los mensajes CompositeFilter y PropertyFilter, el campo operator ahora es op.
    • Se realizaron los siguientes cambios en el mensaje GqlQuery:
      • El campo allow_literal ahora es allow_literals.
      • El campo repetido name_arg ahora es el campo de mapa named_bindings.
      • El campo number_arg ahora es positional_bindings.
    • El campo GqlQueryArg ahora es GqlQueryParameter. Se quitó el campo name.
    • Se agregó un valor MORE_RESULTS_AFTER_CURSOR nuevo a la enumeración MoreResultsType.
    • Se agregó el campo skipped_cursor al mensaje QueryResultBatch.
    • Se realizaron los siguientes cambios en el mensaje Mutation:
      • Una Mutation ahora describe un cambio a una sola entidad. Sus campos ya no se repiten.
      • Se quitó el campo insert_auto_id. Las mutaciones insert y update ahora admiten la asignación de ID automática.
      • Se quitó el campo force.
    • Se realizaron los siguientes cambios en el mensaje MutationResult:
      • El campo index_updates se trasladó al mensaje CommitResponse.
      • El campo repetido insert_auto_id_key ahora es key y ya no se repite.
    • Se agregó el campo query al mensaje RunQueryResponse. Cuando un mensaje RunQueryRequest establece el campo gql_query, el mensaje RunQueryResponse establece el campo query en la forma analizada del mensaje GqlQuery de la solicitud.
    • En el mensaje BeginTransactionRequest, se quitó la enumeración IsolationLevel y el campo isolation_level. Ahora todas las transacciones se pueden serializar.
    • En el mensaje CommitRequest, el campo mutation ahora es el campo repetido mutations.
    • En el mensaje CommitResponse, el campo mutation_result ahora es el campo repetido mutation_results.
  • Cambios en la API de JSON:
    • Ahora se admiten valores nulos. Esto corrige el error https://github.com/GoogleCloudPlatform/google-cloud-datastore/issues/41.
    • Los campos establecidos en sus valores predeterminados no se incluyen en las respuestas, por ejemplo:
      • Los campos found, missing y deferred del mensaje para LookupResponse no se incluyen cuando están vacíos.
      • El campo entity_result del mensaje QueryResultBatch no se incluye cuando está vacío.
      • El campo skipped_results del mensaje QueryResultBatch no se incluye cuando es 0.
  • Cambió el formato de extremo de la API. Por ejemplo, en v1beta2, se enviaba una RunQuery a: https://www.googleapis.com/datastore/v1beta2/datasets/<dataset-id>/runQuery
    En v1beta3, se envía a:
    https://datastore.googleapis.com/v1beta3/projects/<project-id>:runQuery
  • Las restricciones de dominio de la cuenta ya no se aplican cuando accedes a la API. Esto corrige el error https://github.com/GoogleCloudPlatform/google-cloud-datastore/issues/19.
  • Errores:
    • Se agregó el campo status a los errores de JSON y se quitó la lista errors.
    • Los errores que causan las solicitudes con un tipo de contenido de application/x-protobuf ahora son un mensaje google.rpc.Status serializado.
  • Cambios en GQL:
    • En el literal sintético KEY, DATASET ahora es PROJECT.
    • Se quitó el literal sintético BLOBKEY.
    • Se quitó el agregador FIRST.
    • La cláusula GROUP BY se reemplazó por DISTINCT ON.
    • Ahora se admiten nombres de propiedad completamente calificados.
    • Ahora se admiten los filtros de consulta en las marcas de tiempo anteriores al tiempo UNIX.
  • Ahora se admiten valores de arreglo vacíos.
  • Ahora se admiten las propiedades de indexación y consulta dentro de los valores de la entidad. Los valores dentro de los valores de la entidad se indexan de forma predeterminada.
  • Normalización de clave:
    • En los objetos Key de RunQueryRequest, la normalización de clave nunca establecerá partition_id.namespace_id, como lo hizo con anterioridad en algunas circunstancias. Si una clave debe hacer referencia a esa partición, debe establecer de manera explícita su partition_id.namespace_id.
    • Los objetos Key con una path vacía y un partition_id vacío o no establecido ya no se normalizan.
  • Las operaciones de escritura de ID de partición externas ahora pueden fallar si el proyecto externo no está en estado activo. Por esta razón, se desaconseja el uso de los ID de partición extraños.
  • En solicitudes de Commit no transaccionales, no hay dos mutaciones que puedan afectar a la misma entidad.
  • En solicitudes de Commit transaccionales, se aplican las mutaciones que afectan a la misma entidad en el orden en el que aparecen en la solicitud. No se permiten determinadas secuencias de mutaciones que afectan a la misma entidad.
  • El campo more_results en el mensaje QueryResultBatch es preciso en más casos. Esto corrige el error https://github.com/GoogleCloudPlatform/google-cloud-datastore/issues/48.
  • El número típico de resultados que muestra una llamada a RunQuery es menor debido a un cambio en el procesamiento por lotes en el lado del servidor. Al igual que antes, los clientes no deben confiar en el tamaño del lote y, en su lugar, usar cursores para continuar las consultas.
  • El alcance https://www.googleapis.com/auth/userinfo.email ya no es necesario.
  • La API funciona para proyectos que tienen una restricción de dominio de App Engine. Esto corrige el error https://github.com/GoogleCloudPlatform/google-cloud-datastore/issues/19.
  • Herramienta gcd:
    • Las opciones -d, --dataset_id y --dataset_id_override ahora son -p, --project_id y --project_id_override, respectivamente.
    • Se quitó la opción --auth_mode. Los comandos updateindexes y vacuumindexes siempre usan OAuth 2.0.
    • La opción --auto_generate_indexes es ahora --store_index_configuration_on_disk.
    • La configuración de índice para proyectos nuevos ahora se almacena en un archivo YAML: <directory>/WEB-INF/index.yaml. La configuración de índice para los proyectos que antes utilizaron XML continuará del mismo modo.

Septiembre de 2013

  • Lanzamiento inicial de la API de Cloud Datastore v1beta2.
  • Cambios en la API:
    • El método BlindWrite se fusiona en Commit.
    • Se agregó list_value a Value y se cambió value a un campo no repetido de Property.
    • En la API de JSON, las constantes de string ahora están en mayúsculas y separadas por un guion en lugar de combinar mayúsculas y minúsculas (p. ej., LESS_THAN_OR_EQUAL en lugar de lessThanOrEqual).
  • Cambios en GQL:
    • Literales sintéticos nuevos: BLOB, BLOBKEY, DATETIME, KEY.
    • Asistencia para IS NULL.
    • Manejo de ID de partición fijo para vincular argumentos.
  • Manejo de ID de partición fijo para solicitudes de consulta que incluyen un ID de partición explícito.
  • Alcances fijos en el documento de descubrimiento. Esto corrige el error https://github.com/GoogleCloudPlatform/google-cloud-datastore/issues/9.

Julio de 2013

  • Compatibilidad con GQL
  • Compatibilidad con la consulta de metadatos
  • Herramienta gcd:
    • Compatibilidad con Microsoft Windows (gcd.cmd)
    • Se agregó la opción de modo de prueba --testing, que no almacena datos ni configuraciones de índice en el disco y admite consultas no principales totalmente coherentes. Esta opción es útil para pruebas de integración y unidad
    • Comando update_indexes más intuitivo (ahora llamado updateindexes)
    • Comando create nuevo y comando start simplificado
    • Integración mejorada con las aplicaciones existentes de App Engine

Mayo de 2013

  • Versión Beta inicial y pública (v1beta1) de la API de Cloud Datastore
¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Documentación de Cloud Datastore