Setiap entitas yang dikirim ke Google, baik melalui feed maupun pembaruan real-time,
memiliki versi yang melekat padanya. Versi ini hadir dalam bentuk stempel waktu. Di beberapa
feed, stempel waktu dapat diberikan untuk setiap entity yang menggunakan dateModified
. Jika atribut tidak disertakan dalam entitas feed, versinya adalah
yang disetel ke waktu mulai penyerapan feed. Dalam update real-time batchPush
dan
batchDelete
, masing-masing, kolom generation_timestamp
dan delete_time
digunakan untuk mengatur versi. Jika kolom tidak disertakan, versi akan ditetapkan ke
waktu saat permintaan diterima. Lihat format waktu yang diharapkan
nilai-nilai
dalam skema inventaris relasional.
Google hanya memproses entitas (misalnya: restoran, menu, atau layanan) dengan versi yang sama dengan atau lebih baru dari versi yang terakhir diterima. Jika tidak, entity tidak diserap dan error Entitas Usang dicatat. Jika entitas diperbarui dengan versi baru, stempel waktu terakhir diubah akan waktu saat ini diperbarui.
Contoh
Misalnya feed dibuat pada 16 Juni pukul 01.10 UTC dengan contoh berikut entitas yang disertakan.
{
"@type": "Restaurant",
"@id": "restaurant12345",
"dateModified": "2022-06-16T01:10:00.000Z",
...
}
Feed belum ditransfer oleh Google. Kemudian pada hari itu pukul
2022-06-16T01:22:00.000Z
, Google menerima
Permintaan batchPush
update real-time dengan hal berikut
entitas.
{
"records": [
{
"data_record": "{\"@type\": \"Restaurant\",\"@id\": \"restaurant12345\" ...",
"generation_timestamp": "2022-06-16T01:20:00.000Z"
}
]
}
Versi untuk ID entitas restoran restaurant12345
sekarang adalah
2022-06-16T01:20:00.000Z
dan stempel waktu entity terakhir diubah telah disetel
ke 2022-06-16T01:22:00.000Z
. Singkatnya, waktu perubahan
terakhir adalah waktu
entitas telah diperbarui di inventaris Google dan versinya adalah
generation_timestamp
dari permintaan update real-time atau
Nilai dateModified
dari feed.
Proses transfer feed akan dimulai pada 16 Juni pukul 02.00 UTC. Dalam situasi ini,
entitas yang diterima di feed dengan versi 2022-06-16T01:10:00.000Z
adalah
dianggap basi dan tidak diserap. Oleh karena itu, Google terus melayani
dengan versi 2022-06-16T01:20:00.000Z
dari
permintaan update real-time.
Praktik terbaik:
- Implementasikan stempel waktu dalam feed untuk setiap entity.
- Terapkan perubahan update real-time ke feed berikutnya dan tolong atur Stempel waktu dateModified di entitas feed ke waktu saat ini saat Anda yang membuat feed.