Penyerapan batch

Feed data memungkinkan Anda menyediakan restoran, layanan, dan menu di Pemesanan menyeluruh.

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

Lingkungan feed data

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

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

Feed data Hosting

Agar Pemesanan End-to-End dapat memproses feed data Sandbox dan Produksi Anda dengan 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 men-deploy perubahan ke produksi.

Misalnya, jika 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, lakukan tindakan 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 mengetahui detail tentang cara membuat feed inventaris, lihat dokumentasi untuk entity Restaurant, Service, dan Menu, serta bagian Membuat feed data.

Panduan tentang file feed data

Setiap file, yang dapat berisi beberapa entitas, tidak boleh melebihi 200 MB. Entitas level atas Restaurant, Service, dan Menu, beserta entitas turunannya, tidak boleh melebihi 4 MB secara keseluruhan.

Memilih solusi hosting

Tabel berikut mencantumkan opsi untuk menghosting feed data Anda dan cara kerja host tersebut dengan Pemesanan End-to-End:

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 S3 produksi dan sandbox serta file marker.txt Anda. Jalur harus diawali dengan s3://.

Bucket S3 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 jalur ke direktori bucket produksi dan sandbox serta file marker.txt kepada Google. Jalur harus diawali dengan gs://.

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

Untuk informasi selengkapnya tentang cara mengontrol akses untuk Google Cloud Storage (GCS), lihat Konsol Google Cloud Platform: 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 sitemap produksi dan sandbox Anda. Jalur harus diawali dengan https://.
  • Protokol: Anda harus menyediakan file feed melalui HTTPS, bukan HTTP.
  • Keamanan: Google sangat merekomendasikan agar Anda melindungi file feed yang dihosting dengan Basic Authentication.
Cara Google mengetahui file mana yang perlu diambil Listingan direktori semua file dalam bucket. Listingan direktori semua file dalam bucket. URL file individual 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 Anda selesai membuat feed data, perbarui header respons last-modified dari sitemap.xml dengan stempel waktu terbaru.
Batasan file

Jumlah file maksimum: 100.000.

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

Jumlah file maksimum: 100.000.

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

Jumlah file maksimum: 100.000.

Jumlah jalur file dalam file XML peta situs Anda harus kurang dari 100.000.

Menghubungkan feed data untuk penyerapan batch

Setelah menghosting feed, Anda harus menghubungkannya ke project di Actions Center. Konfigurasi awal feed produksi dilakukan di halaman Tugas Orientasi. Kemudian, konfigurasi feed produksi dan sandbox dapat diperbarui dari halaman Konfigurasi > Feed kapan saja oleh pengguna portal dengan 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, lalu isi formulir Update 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.
    • Access ID: 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 Kirim.
  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 Update 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 Kirim.
  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, lalu isi formulir Update 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 Kirim.
  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
Jalur 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 menentukan peta situs:

  • Link di peta situs Anda harus mengarah ke file itu sendiri.
  • Jika peta situs Anda menyertakan referensi ke penyedia cloud, bukan nama domain Anda sendiri, pastikan awal URL, seperti https://www.yourcloudprovider.com/your_id, stabil dan unik untuk tugas batch Anda.
  • Berhati-hatilah agar tidak mengupload peta situs parsial (seperti saat terjadi upload data parsial). Tindakan tersebut akan menyebabkan Google hanya menyerap file dalam peta situs, yang akan menyebabkan tingkat inventaris Anda menurun dan dapat menyebabkan penyerapan feed Anda diblokir.
  • Pastikan jalur ke file yang dirujuk dalam peta situs tidak berubah. Misalnya, jangan buat peta situs Anda mereferensikan https://www.yourcloudprovider.com/your_id/10000.json hari ini, lalu mereferensikan 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 menurut 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 update sekali setiap jam, tetapi kami hanya menyerap semua feed data saat file marker.txt atau sitemap.xml telah diubah. Sebaiknya perbarui feed data Anda sekali sehari untuk mencegah inventaris yang tidak berlaku.

Untuk menentukan bahwa 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 keaktualan feed data.

Saat feed batch sedang ditransfer,

  • Entitas baru yang tidak ada dalam inventaris Pemesanan Lengkap Anda saat ini dan tidak memiliki error akan disisipkan.
  • Entitas yang sudah ada di inventaris dan tidak memiliki error saat penyerapan serta memiliki dateModified yang lebih baru dari entri saat ini atau jika tidak memiliki dateModified, waktu mulai penyerapan feed lebih baru dari entri saat ini, maka entitas tersebut akan diperbarui, jika tidak, entitas tersebut akan ditandai sebagai tidak berlaku.
  • Entitas yang merupakan bagian dari feed sebelumnya yang tidak lagi disertakan dalam feed batch yang sedang diproses akan dihapus, asalkan 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 berjalan sekali sehari. Atau, buat jeda minimal tiga jam di antara setiap tugas batch. Jika Anda tidak melakukan langkah-langkah ini, Google mungkin mengambil file yang sudah tidak berlaku.