Gestion des versions des entités

<ph type="x-smartling-placeholder">

Chaque entité envoyée à Google, que ce soit par le biais de flux ou de mises à jour en temps réel, est associée à une version. Cette version se présente sous la forme d'un code temporel. Dans vous pouvez fournir le code temporel pour chaque entité à l'aide de l'dateModified . Si l'attribut n'est pas inclus dans les entités du flux, la version est définie sur l'heure de début de l'ingestion du flux. Avec les mises à jour en temps réel, batchPush et batchDelete, respectivement, les champs generation_timestamp et delete_time servent à définir la version. Si le champ n'est pas inclus, la version est définie sur l'heure à laquelle la demande a été reçue. Voir le format attendu pour l'heure valeurs dans le schéma d'inventaire relationnel.

Google ne traite que les entités (par exemple, un restaurant, un menu ou un service). avec une version égale ou ultérieure à la dernière version acceptée. Dans le cas contraire, L'entité n'est pas ingérée et l'erreur Stale Entity (Entité non actualisée) est enregistrée. Lorsqu'un entité est mise à jour avec une nouvelle version, le code temporel de la dernière modification est remplacé par l'heure actuelle à laquelle elles ont été mises à jour.

Exemple

Supposons qu'un flux soit généré le 16 juin à 01h10 UTC avec l'exemple suivant. est incluse.

{
  "@type": "Restaurant",
  "@id": "restaurant12345",
  "dateModified": "2022-06-16T01:10:00.000Z",
  ...
}

Le flux n'est pas encore ingéré par Google. Plus tard dans la journée, à 2022-06-16T01:22:00.000Z, Google reçoit une mise à jour en temps réel batchPush avec les éléments suivants : entité.

{
  "records": [
    {
      "data_record": "{\"@type\": \"Restaurant\",\"@id\": \"restaurant12345\" ...",
      "generation_timestamp": "2022-06-16T01:20:00.000Z"
    }
  ]
}

La version de l'ID d'entité "restaurant" restaurant12345 est maintenant 2022-06-16T01:20:00.000Z, et le code temporel de la dernière modification de l'entité est défini à 2022-06-16T01:22:00.000Z. En résumé, l'heure de la dernière modification est l'heure que l'entité a été mise à jour dans l'inventaire de Google et que la version est la la valeur generation_timestamp à partir de la requête de mise à jour en temps réel ou de la dateModified du flux.

L'ingestion du flux commencera ensuite le 16 juin à 02h00 UTC. Dans cette situation, l'entité reçue dans le flux avec la version 2022-06-16T01:10:00.000Z est est considérée comme obsolète et n'est pas ingérée. Google continue donc à diffuser des annonces entité avec la version 2022-06-16T01:20:00.000Z de requête de mise à jour en temps réel.

Bonnes pratiques :

  • Implémentez un code temporel dans les flux pour chaque entité.
  • Appliquez les mises à jour en temps réel à votre prochain flux. définissez le dateModified dans les entités du flux à l'heure actuelle à laquelle vous créé le flux.