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.