Notes de version

Cette page répertorie les mises à jour en production de Cloud Datastore. Consultez-la régulièrement pour obtenir des informations sur les fonctionnalités nouvelles ou mises à jour, les corrections de bugs, les problèmes connus et les fonctionnalités obsolètes.

Pour recevoir les informations les plus récentes concernant ce produit, ajoutez l'URL de cette page à votre lecteur de flux.

15 avril 2019

Disponibilité dans la région europe-west6 (Zurich).

31 janvier 2019

Cloud Firestore est désormais accessible à tous. Cloud Firestore représente la nouvelle version de Cloud Datastore et comprend un mode Datastore rétrocompatible.

Si vous souhaitiez utiliser l'API Cloud Datastore dans un nouveau projet, utilisez Cloud Firestore en mode Datastore. Les bases de données Cloud Datastore existantes seront automatiquement mises à niveau vers Cloud Firestore en mode Datastore.

Sauf indication contraire, la documentation Cloud Datastore décrit désormais le comportement de Cloud Firestore en mode Datastore.

22 octobre 2018

Disponibilité dans la région asia-east2 (Hong Kong).

22 août 2018

Cloud Datastore appliquera bientôt les exigences relatives à IAM pour toutes les applications App Engine. Pour en savoir plus, consultez la section Autorisations Cloud Datastore pour App Engine. Auparavant, les applications App Engine pouvaient accéder aux instances Cloud Datastore du même projet.

Les exigences IAM sur Cloud Datastore pour App Engine s'appliqueront aux projets créés après le 09/03/2018 et seront progressivement déployées pour les projets existants. Ultérieurement, tous les projets appliqueront les exigences IAM sur Cloud Datastore pour App Engine.

8 août 2018

Vous pouvez maintenant créer une base de données Cloud Firestore en mode Datastore. Le mode Datastore vous permet d'utiliser les bibliothèques clientes Cloud Datastore avec une couche de stockage Cloud Firestore améliorée, en supprimant les limites relatives à la cohérence à terme.

Si vous avez un projet Cloud Datastore existant, consultez cette page concernant la mise à niveau automatique vers Cloud Firestore.

10 juillet 2018

Disponibilité dans la région us-west2 (Los Angeles).

28 février 2018

Disponibilité générale de l'API Administration Cloud Datastore v1, autrefois en version bêta. Pour en savoir plus sur l'utilisation de ce service, consultez les sections suivantes :

L'API Administration Cloud Datastore v1beta1 est désormais obsolète.

La fonctionnalité de sauvegarde administrateur Cloud Datastore est supprimée progressivement au profit du service d'exportation et d'importation géré pour Cloud Datastore. Veuillez migrer vers les fonctionnalités d'exportation et d'importation gérées dès que possible. Pour vous aider à effectuer la transition, la fonctionnalité de sauvegarde administrateur Datastore restera disponible jusqu'au 28 février 2019.

30 janvier 2018

Lorsque vous commencez une transaction avec l'API Cloud Datastore Data, vous pouvez désormais utiliser un objet TransactionOptions pour spécifier si la transaction est en mode lecture seule ou en mode lecture/écriture.

Lorsque vous commencez une transaction avec l'API Cloud Datastore Data, vous pouvez désormais spécifier une transaction previousTransaction en tant que nouvelle tentative.

Le message BeginTransactionRequest ajoute le champ transactionOptions dans l'API Data.

10 janvier 2018

31 octobre 2017

Disponibilité dans la région asia-south1 (Mumbai).

5 septembre 2017

30 août 2017

Version initiale bêta de l'API Administration Cloud Datastore v1.

Ajouts à la définition de l'API :

Ajouts à l'outil de ligne de commande gcloud effectifs à partir de la version 169.0.0 :

  • gcloud beta datastore export, pour permettre l'exportation d'entités.
  • gcloud beta datastore import, pour permettre l'importation d'entités.
  • gcloud beta datastore operations cancel, pour permettre l'annulation d'opérations de longue durée.
  • gcloud beta datastore operations delete, pour permettre la suppression d'opérations de longue durée.
  • gcloud beta datastore operations describe, pour permettre la description d'opérations de longue durée terminées.
  • gcloud beta datastore operations list, pour permettre le référencement d'opérations de longue durée actives.

1er août 2017

Disponibilité dans la région europe-west3 (Francfort).

18 juillet 2017

Disponibilité dans la région australia-southeast1 (Sydney).

6 juin 2017

Disponibilité dans la région europe-west2 (Londres).

16 août 2016

Version initiale de l'API Cloud Datastore v1.

Le message EntityResult ajoute le champ version dans l'API v1 et l'API v1beta3.

Traitement des erreurs dans l'API Cloud Datastore v1 :

  • Si vous tentez d'insérer une entité existante, le code d'erreur renvoie ALREADY_EXISTS. Dans la version v1beta3, il renvoyait INVALID_ARGUMENT.
  • Si vous tentez de mettre à jour une entité qui n'existe pas, le code d'erreur renvoie NOT_FOUND. Dans la version v1beta3, il renvoyait INVALID_ARGUMENT.

Étant donné que la version v1 de l'API Cloud Datastore est publiée, la version v1beta3 de l'API Cloud Datastore est désormais obsolète.

Avril 2016

  • Version initiale de l'API Cloud Datastore v1beta3.
  • Modifications apportées à la définition de l'API :
    • L'API est maintenant définie dans trois fichiers proto : entity.proto, query.proto et datastore.proto.
    • Les fichiers proto utilisent maintenant la syntaxe proto3 :
      • Les mappages sont utilisés pour plusieurs champs. Pour en savoir plus, consultez les informations ci-dessous.
      • Toutes les énumérations ajoutent une valeur avec le suffixe _UNSPECIFIED, qui est égale à 0.
      • oneof permet d'éviter la définition de champs qui s'excluent mutuellement :
        • Les champs id et name dans le message PathElement.
        • Les champs de valeur dans le message Value.
        • Les champs composite_filter et property_filter dans le type Filter.
        • Les champs value et cursor dans le message GqlQueryParameter.
        • Les champs upsert, update, upsert et delete dans le message Mutation.
    • Tous les messages de requêtes ajoutent un champ de niveau supérieur project_id. Ce champ est renseigné automatiquement pour les requêtes effectuées via HTTP.
    • Plusieurs champs répétés ont désormais des noms au pluriel :
      • Dans le message CompositeFilter, le champ filter devient filters.
      • Dans le message QueryResultBatch, le champ entity_result devient entity_results.
      • Dans le message LookupRequest, le champ key devient keys.
      • Dans le message AllocateIdsRequest, le champ key devient keys.
      • Dans le message AllocateIdsResponse, le champ key devient keys.
    • Le nom du package proto inclut désormais la version de l'API.
    • Dans le message PartitionId :
    • Dans le message Key, le champ path_element devient path.
    • Dans le message Value :
      • Les valeurs nulles sont représentées en spécifiant explicitement le champ null_value avec le type com.protobuf.NullValue. Le problème suivant est corrigé : https://github.com/GoogleCloudPlatform/google-cloud-datastore/issues/41.
      • Le champ timestamp_microseconds_value devient timestamp_value avec le type google.protobuf.Timestamp. Au format JSON, le champ dateTimeValue devient timestampValue. Ce champ reste limité à une précision de l'ordre de la microseconde.
      • Le champ blob_key_value est supprimé. Les valeurs qui remplissaient précédemment ce champ dans les versions d'API v1beta1 ou v1beta2 rempliront désormais le champ string_value dans l'API v1beta3.
      • Le champ geo_point_value de type google.type.LatLng est ajouté.
      • Le champ répété list_value est remplacé par un champ array_value de type ArrayValue.
      • Le champ indexed, dont la valeur par défaut est vraie, devient exclude_from_indexes, dont la valeur par défaut est fausse.
    • Le message Property est supprimé. Dans le message Entity, le champ répété property devient le champ properties, qui correspond à un mappage entre string et Value.
    • Le message PropertyExpression devient Projection.
    • Le message EntityResult ajoute un champ cursor de type bytes.
    • Dans le message Query :
      • Le champ group_by devient distinct_on.
      • Le champ limit est désormais de type google.protobuf.Int32Value.
    • Dans le message PropertyExpression, l'énumération AggregationFunction et le champ aggregation_function sont supprimés.
    • Dans les messages CompositeFilter et PropertyFilter, le champ operator devient op.
    • Dans le message GqlQuery :
      • Le champ allow_literal devient allow_literals.
      • Le champ répété name_arg devient le champ de mappage named_bindings.
      • Le champ number_arg devient positional_bindings.
    • Le message GqlQueryArg devient GqlQueryParameter. Le champ name est supprimé.
    • L'énumération MoreResultsType ajoute une valeur MORE_RESULTS_AFTER_CURSOR.
    • Le message QueryResultBatch ajoute un champ skipped_cursor.
    • Dans le message Mutation :
      • Le champ Mutation décrit maintenant une modification apportée à une seule entité. Ses champs ne sont plus répétés.
      • Le champ insert_auto_id est supprimé. Les mutations insert et update acceptent désormais l'allocation d'ID automatique.
      • Le champ force est supprimé.
    • Dans le message MutationResult :
      • Le champ index_updates est déplacé dans le message CommitResponse.
      • Le champ répété insert_auto_id_key est désormais key et n'est plus répété.
    • Le message RunQueryResponse ajoute un champ query. Lorsqu'un message RunQueryRequest définit le champ gql_query, le message RunQueryResponse définit un champ query sur la forme analysée du message GqlQuery à partir de la requête.
    • Dans le message BeginTransactionRequest, l'énumération IsolationLevel et le champ isolation_level sont supprimés. Toutes les transactions sont désormais sérialisables.
    • Dans le message CommitRequest, le champ mutation est désormais un champ répété mutations.
    • Dans le message CommitResponse, le champ mutation_result est désormais un champ répété mutation_results.
  • Modifications apportées à l'API JSON :
    • Les valeurs nulles sont désormais acceptées. Le problème suivant est corrigé : https://github.com/GoogleCloudPlatform/google-cloud-datastore/issues/41.
    • Les champs définis sur leurs valeurs par défaut ne sont pas inclus dans les réponses. Par exemple :
      • Les champs found, missing et deferred dans le message LookupResponse ne sont pas inclus lorsqu'ils sont vides.
      • Le champ entity_result dans le message QueryResultBatch n'est pas inclus lorsqu'il est vide.
      • Le champ skipped_results dans le message QueryResultBatch n'est pas inclus lorsqu'il est défini sur 0.
  • Le format du point de terminaison de l'API a changé. Par exemple, dans la version v1beta2, la commande RunQuery est envoyée à : https://www.googleapis.com/datastore/v1beta2/datasets/<dataset-id>/runQuery.
    Dans la version v1beta3, elle est envoyée à :
    https://datastore.googleapis.com/v1beta3/projects/<project-id>:runQuery
  • Les restrictions de domaine du compte ne s'appliquent plus lors de l'accès à l'API. Le problème suivant est corrigé : https://github.com/GoogleCloudPlatform/google-cloud-datastore/issues/19.
  • Erreurs :
    • Les erreurs JSON ajoutent un champ status et suppriment la liste errors.
    • Les erreurs causées par des requêtes avec un type de contenu application/x-protobuf deviennent un message sérialisé google.rpc.Status.
  • Modifications apportées à GQL (Google Query Language) :
    • Dans la valeur synthétique littérale KEY, DATASET devient PROJECT.
    • La valeur synthétique littérale BLOBKEY est supprimée.
    • L'agrégateur FIRST est supprimé.
    • La clause GROUP BY est remplacée par DISTINCT ON.
    • Les noms de propriété entièrement qualifiés sont désormais acceptés.
    • Les filtres de requête sur les horodatages antérieurs à l'époque sont désormais acceptés.
  • Les valeurs de tableau vides sont désormais compatibles.
  • L'indexation et l'interrogation des propriétés au sein des valeurs d'entité sont désormais compatibles. Les valeurs comprises dans les valeurs d'entité sont indexées par défaut.
  • Normalisation de clé :
    • Dans les objets Key de RunQueryRequest, la normalisation de clé ne définira jamais partition_id.namespace_id, alors qu'elle le faisait auparavant dans certaines circonstances. Si une clé doit référencer cette partition, son champ partition_id.namespace_id doit être explicitement défini.
    • Les objets Key avec un champ path vide, ou un champ partition_id vide ou non défini, ne sont plus normalisés.
  • Les opérations d'écriture d'ID de partition étrangère peuvent désormais échouer si le projet étranger n'est pas défini comme étant actif. Pour cette raison, l'utilisation d'ID de partition étrangère est déconseillée.
  • Dans une requête Commit non transactionnelle, deux mutations ne peuvent pas affecter la même entité.
  • Dans une requête Commit transactionnelle, les mutations affectant la même entité sont appliquées dans l'ordre dans lequel elles apparaissent dans la requête. Certaines séquences de mutations affectant la même entité ne sont pas autorisées.
  • Le champ more_results dans le message QueryResultBatch est précis dans la plupart des cas. Le problème suivant est corrigé : https://github.com/GoogleCloudPlatform/google-cloud-datastore/issues/48.
  • Le nombre typique de résultats renvoyés par un appel RunQuery est plus petit en raison d'une modification du traitement par lots côté serveur. Comme auparavant, les clients ne doivent pas compter sur la taille du lot, mais utiliser des curseurs pour poursuivre les requêtes.
  • Le champ d'application https://www.googleapis.com/auth/userinfo.email n'est plus requis.
  • L'API fonctionne pour les projets avec une restriction de domaine App Engine. Le problème suivant est corrigé : https://github.com/GoogleCloudPlatform/google-cloud-datastore/issues/19.
  • Outil gcd :
    • Les options -d, --dataset_id et --dataset_id_override deviennent respectivement -p, --project_id et --project_id_override.
    • L'option --auth_mode est supprimée. Les commandes updateindexes et vacuumindexes utilisent toujours OAuth 2.0.
    • L'option --auto_generate_indexes devient --store_index_configuration_on_disk.
    • La configuration d'index pour les nouveaux projets est désormais stockée dans un fichier YAML : <directory>/WEB-INF/index.yaml. La configuration d'index pour les projets, qui utilisait précédemment XML, continuera à le faire.

Septembre 2013

  • Version initiale de l'API Cloud Datastore v1beta2.
  • Modifications apportées à l'API :
    • La méthode BlindWrite est fusionnée dans Commit.
    • Le champ list_value a été ajouté à Value et value a été remplacé par un champ non répété dans Property.
    • Dans l'API JSON, les constantes de type chaîne ne sont plus exprimées en casse mixte (ou camelCase), mais en majuscules et séparées par des traits de soulignement (exemple : LESS_THAN_OR_EQUAL au lieu de lessThanOrEqual).
  • Modifications apportées à GQL (Google Query Language) :
    • Nouvelles valeurs synthétiques littérales : BLOB, BLOBKEY, DATETIME, KEY.
    • Compatibilité avec IS NULL.
    • Gestion des ID de partition corrigée pour les arguments de liaison.
  • Gestion des ID de partition corrigée pour les requêtes comportant un ID de partition explicite.
  • Champs d'application fixes dans le document de découverte. Le problème suivant est corrigé : https://github.com/GoogleCloudPlatform/google-cloud-datastore/issues/9.

Juillet 2013

  • Compatibilité avec GQL (Google Query Language).
  • Compatibilité des requêtes de métadonnées.
  • Outil gcd :
    • Compatibilité avec Microsoft Windows (gcd.cmd).
    • Ajout du mode de test --testing, qui ne stocke ni les données, ni la configuration d'index sur le disque et accepte les requêtes non ascendantes à cohérence totale. Cette option est utile pour les tests unitaires et les tests d'intégration.
    • Commande update_indexes plus intuitive (renommée updateindexes).
    • Nouvelle commande create et commande start simplifiée.
    • Intégration améliorée avec les applications App Engine existantes.

Mai 2013

  • Version initiale bêta publique (v1beta1) de l'API Cloud Datastore.
Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Documentation Cloud Datastore