Penyerapan batch

Feed data memungkinkan Anda menyediakan restoran, layanan, dan menu dalam Pemesanan Menyeluruh.

Dokumen ini membahas cara menghosting inventaris sandbox dan produksi Anda serta menggunakan penyerapan batch untuk memperbarui inventaris Anda dalam Pemesanan Menyeluruh.

Lingkungan feed data

Ada tiga lingkungan feed data yang tersedia untuk pengembangan integrasi Anda:

Lingkungan feed Deskripsi Penyerapan batch
Sandbox Lingkungan pengujian untuk pengembangan feed Anda. Wajib
Produksi Lingkungan produksi untuk inventaris yang ingin Anda luncurkan. Wajib

Menghosting feed data

Agar Pemesanan Menyeluruh guna memproses feed data Sandbox dan Produksi berdasarkan penyerapan batch, Anda harus menghosting file feed data di Google Cloud Storage, Amazon S3, atau HTTPS dengan peta situs.

Sebaiknya Anda menghosting feed data untuk lingkungan sandbox dan produksi secara terpisah. Pendekatan ini memungkinkan Anda melakukan pengembangan dan pengujian di lingkungan feed sandbox sebelum menerapkan perubahan ke produksi.

Misalnya, jika Anda menggunakan Google Cloud Storage sebagai opsi hosting, Anda akan memiliki jalur berikut:

  • Feed Sandbox: gs://foorestaurant-google-feed-sandbox/
  • Feed Produksi: gs://foorestaurant-google-feed-prod/

Untuk menghosting inventaris Anda, lakukan hal berikut:

  1. Buat file feed data Anda.
  2. Pilih solusi hosting.
  3. Menghosting feed data Anda.
  4. Pastikan file feed data Anda diperbarui secara rutin. Feed data produksi harus diperbarui setiap hari.

Untuk detail tentang cara membuat feed inventaris, lihat dokumentasi untuk entitas Restaurant, Service, dan Menu, serta bagian Membuat feed data.

Panduan tentang file feed data

Setiap file, yang dapat berisi beberapa entitas, tidak boleh lebih dari 200 MB. Entity level teratas Restaurant, Service, dan Menu, beserta entity turunannya, tidak boleh melebihi 4 MB secara bersamaan.

Pilih solusi hosting

Tabel berikut mencantumkan opsi untuk menghosting feed data Anda dan cara host tersebut bekerja dengan Pengurutan Menyeluruh:

Amazon S3 Google Cloud Storage HTTPS dengan peta situs
Kredensial dan akses

Berikan informasi berikut kepada Google:

  • ID kunci akses
  • Kunci akses rahasia
  • Jalur ke direktori produksi dan sandbox S3 serta file marker.txt Anda. Jalur harus diawali dengan s3://.

Bucket S3 perlu menyertakan informasi berikut:

  • File feed untuk inventaris Anda.
  • marker.txt, yang berisi stempel waktu yang digunakan untuk pengambilan.

Contoh file marker.txt: 2018-12-03T08:30:42.694Z

Beri Google jalur ke direktori bucket sandbox dan produksi Anda serta file marker.txt. Jalur harus diawali dengan gs://.

Tambahkan akun layanan yang disediakan oleh konsultan Google Anda sebagai pembaca bucket Google Cloud Storage.

Untuk informasi selengkapnya tentang cara mengontrol akses untuk Google Cloud Storage (GCS), lihat Google Cloud Platform Console: Menetapkan izin bucket.

Bucket GCS harus menyertakan informasi berikut:

  • File feed untuk inventaris Anda.
  • marker.txt, yang berisi stempel waktu yang digunakan untuk pengambilan.

Contoh file marker.txt: 2018-12-03T08:30:42.694Z

Berikan informasi berikut kepada Google:

  • Kredensial untuk autentikasi dasar Anda.
  • Jalur ke jalur peta situs produksi dan sandbox. Jalur harus diawali dengan https://.
  • Protokol: Anda harus menyediakan file feed melalui HTTPS, bukan HTTP.
  • Keamanan: Google sangat menyarankan agar Anda melindungi file feed yang dihosting dengan Autentikasi Dasar.
Cara Google mengetahui file mana yang perlu diambil Listingan direktori semua file dalam bucket. Listingan direktori semua file dalam bucket. Masing-masing URL file yang tercantum dalam peta situs.
Cara Google mengetahui bahwa file siap diambil Setelah selesai membuat feed data, perbarui file marker.txt dengan stempel waktu terbaru. Setelah selesai membuat feed data, perbarui file marker.txt dengan stempel waktu terbaru. Setelah selesai membuat feed data, perbarui header respons last-modified dari sitemap.xml Anda dengan stempel waktu terbaru.
Batasan file

Jumlah file maksimum: 100.000.

Anda harus memiliki total kurang dari 100.000 file di bucket Amazon S3.

Jumlah file maksimum: 100.000.

Anda harus memiliki total kurang dari 100.000 file di bucket Google Cloud Storage.

Jumlah file maksimum: 100.000.

Jumlah jalur file dalam file XML peta situs Anda tidak boleh lebih dari 100.000.

Menghubungkan feed data untuk penyerapan batch

Setelah menghosting feed, Anda harus menghubungkannya ke project Anda di Pusat Tindakan. Konfigurasi awal feed produksi dilakukan di halaman Tugas Orientasi. Nantinya, konfigurasi feed produksi dan sandbox dapat diperbarui dari halaman Konfigurasi > Feed kapan saja oleh pengguna portal yang memiliki peran administratif. Lingkungan sandbox digunakan untuk tujuan pengembangan dan pengujian, sedangkan feed produksi ditampilkan kepada pengguna.

Jika Anda menghosting feed data dengan Amazon S3

  1. Di Pusat Tindakan, buka Konfigurasi > Feed.
  2. Klik Edit dan isi formulir Perbarui Feed:

    • Metode pengiriman feed: Tetapkan ke Amazon S3.
    • File Penanda: Berikan URL file marker.txt.
    • File Data: Berikan URL ke bucket S3 yang berisi feed data.
    • ID Akses: Masukkan ID kunci akses IAM dengan izin untuk membaca dari resource S3.
    • Kunci Akses: Masukkan kunci akses rahasia IAM dengan izin untuk membaca dari resource S3.
  3. Klik Submit.
  4. Setelah satu hingga dua jam, periksa apakah penyerapan batch mengambil file feed Anda.

Jika Anda menghosting feed data dengan Google Cloud Storage

  1. Di Pusat Tindakan, buka Konfigurasi > Feed.
  2. Klik Edit dan isi formulir Perbarui Feed:

    • Metode pengiriman feed: Tetapkan ke Google Cloud Storage.
    • File Penanda: Berikan URL file marker.txt.
    • File Data: Berikan URL ke bucket GCS yang berisi feed data.
  3. Klik Submit.
  4. Akun layanan dibuat untuk mengakses bucket GCS Anda. Nama akun dapat ditemukan di Konfigurasi > Feed setelah tugas aktivasi selesai. Akun layanan ini memerlukan peran “Storage Legacy Object Reader”. Peran ini dapat diberikan ke akun layanan di halaman IAM pada Konsol Google Cloud.
  5. Setelah satu hingga dua jam, periksa apakah penyerapan batch mengambil file feed Anda.

Jika Anda menghosting feed data dengan HTTPS

  1. Di Pusat Tindakan, buka Konfigurasi > Feed.
  2. Klik Edit dan isi formulir Perbarui Feed:

    • Metode pengiriman feed: Tetapkan ke HTTPS.
    • File Peta Situs: Berikan URL file sitemap.xml.
    • Nama pengguna: Masukkan kredensial nama pengguna untuk mengakses server HTTPS.
    • Sandi: Masukkan sandi untuk mengakses server HTTPS.
  3. Klik Submit.
  4. Setelah satu hingga dua jam, periksa apakah penyerapan batch mengambil file feed Anda.

Contoh jalur

Tabel berikut berisi contoh jalur untuk setiap opsi hosting:

Amazon S3 Google Cloud Storage HTTPS dengan peta situs
Path s3://foorestaurant-google-feed-sandbox/ gs://foorestaurant-google-feed-sandbox/ https://sandbox-foorestaurant.com/sitemap.xml
File penanda s3://foorestaurant-google-feed-sandbox/marker.txt gs://foorestaurant-google-feed-sandbox/marker.txt Tidak berlaku

Peta situs untuk hosting HTTPS

Gunakan panduan berikut saat Anda menentukan peta situs:

  • Link dalam peta situs Anda harus mengarah ke file itu sendiri.
  • Jika peta situs Anda menyertakan referensi ke penyedia cloud, bukan nama domain Anda sendiri, pastikan bahwa awal URL, seperti https://www.yourcloudprovider.com/your_id, stabil dan unik untuk tugas batch Anda.
  • Berhati-hatilah agar tidak mengupload peta situs sebagian (seperti jika terjadi upload data sebagian). Jika hal tersebut dilakukan, Google hanya akan menyerap file di peta situs, yang akan menyebabkan level inventaris Anda menurun dan dapat menyebabkan penyerapan feed Anda diblokir.
  • Pastikan jalur ke file yang dirujuk di peta situs tidak berubah. Misalnya, jangan minta referensi peta situs https://www.yourcloudprovider.com/your_id/10000.json hari ini, lalu referensikan https://www.yourcloudprovider.com/your_id/20000.json besok.
Contoh peta situs

Berikut adalah contoh file sitemap.xml yang menayangkan file feed data:

Contoh 1: Entitas yang dikelompokkan berdasarkan penjual (Direkomendasikan).

XML

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
 <url>
   <loc>https://your_fulfillment_url.com/restaurant_1.ndjson</loc>
   <lastmod>2018-06-11T10:46:43+05:30</lastmod>
 </url>
 <url>
   <loc>https://your_fulfillment_url.com/restaurant_2.ndjson</loc>
   <lastmod>2018-06-11T10:46:43+05:30</lastmod>
 </url>
 <url>
   <loc>https://your_fulfillment_url.com/restaurant_3.ndjson</loc>
   <lastmod>2018-06-11T10:46:43+05:30</lastmod>
 </url>
</urlset>

Contoh 2: Entitas yang dikelompokkan berdasarkan jenis.

XML

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
 <url>
   <loc>https://your_fulfillment_url.com/restaurant.json</loc>
   <lastmod>2018-06-11T10:46:43+05:30</lastmod>
 </url>
 <url>
   <loc>https://your_fulfillment_url.com/menu.json</loc>
   <lastmod>2018-06-11T10:46:43+05:30</lastmod>
 </url>
 <url>
   <loc>https://your_fulfillment_url.com/service.json</loc>
   <lastmod>2018-06-11T10:46:43+05:30</lastmod>
 </url>
</urlset>

Memperbarui feed data

Setelah feed data Anda terhubung, Google akan memeriksa pembaruan setiap satu jam sekali, tetapi kami hanya menyerap semua feed data jika file marker.txt atau sitemap.xml telah diubah. Sebaiknya Anda memperbarui feed data satu kali sehari untuk mencegah inventaris yang tidak berlaku.

Untuk menentukan apakah feed data telah diubah dan siap untuk penyerapan batch, perbarui kolom metadata objek last-modified dari file marker.txt (Untuk GCP dan S3) atau header respons last-modified dari file sitemap.xml. Google menggunakan nilai ini untuk menentukan seberapa baru feed data.

Saat feed batch diserap,

  • Entitas baru yang tidak ada dalam inventaris Pemesanan Menyeluruh saat ini dan tidak memiliki error akan disisipkan.
  • Entitas sudah ada di inventaris yang tidak memiliki error saat penyerapan dan memiliki dateModified yang lebih baru daripada entrinya saat ini atau jika tidak memiliki dateModified, waktu mulai penyerapan feed akan lebih baru daripada entri saat ini. Jika tidak, entitas akan ditandai sebagai tidak berlaku.
  • Entity yang merupakan bagian dari feed sebelumnya dan tidak lagi disertakan dalam feed batch yang sedang diproses akan dihapus, jika tidak ada error tingkat file dalam feed.

Stempel waktu atau header respons last-modified hanya boleh diperbarui setelah semua file feed data dibuat dan diperbarui. Batasi tugas batch yang memperbarui feed data Anda agar hanya dijalankan sekali sehari. Atau, beri jeda minimal tiga jam antara setiap tugas batch. Jika Anda tidak melakukan langkah-langkah ini, Google mungkin mengambil file yang sudah tidak berlaku.