Batchaufnahme

Über Ihre Datenfeeds können Sie Ihr Restaurant, Ihre Dienstleistungen und Ihre Speisekarte in Order with Google verfügbar machen.

In diesem Dokument erfahren Sie, wie Sie Ihre Sandbox und Ihr Produktionsinventar hosten und die Batchaufnahme verwenden, um Ihr Inventar in Order with Google zu aktualisieren.

Datenfeed-Umgebungen

Für Ihre Integrationsentwicklung stehen drei Datenfeed-Umgebungen zur Verfügung:

Feedumgebung Beschreibung Batchaufnahme
Sandbox Die Testumgebung für die Feedentwicklung Required
Produktion Die Produktionsumgebung für Ihr Inventar, das Sie einführen möchten. Required

Hosting von Datenfeeds

Damit Order with Google Ihre Sandbox- und Produktions-Datenfeeds per Batchaufnahme verarbeiten kann, müssen Sie Ihre Datenfeeddateien in Google Cloud Storage, Amazon S3 oder HTTPS mit einer Sitemap hosten.

Wir empfehlen, die Datenfeeds für Ihre Sandbox- und Produktionsumgebung separat zu hosten. Mit diesem Ansatz können Sie in Ihrer Sandbox-Feedumgebung entwickeln und testen, bevor Sie die Änderungen für die Produktion bereitstellen.

Wenn Sie beispielsweise Google Cloud Storage als Hostingoption verwenden, haben Sie folgende Pfade:

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

So hosten Sie Ihr Inventar:

  1. Generieren Sie Ihre Datenfeeddateien.
  2. Wählen Sie eine Hostinglösung aus.
  3. Hosten Sie Ihre Datenfeeds.
  4. Achten Sie darauf, dass Ihre Datenfeeddateien regelmäßig aktualisiert werden. Produktionsdatenfeeds müssen täglich aktualisiert werden.

Weitere Informationen zum Erstellen eines Inventarfeeds findest du in der Dokumentation zu den Entitäten Restaurant, Service und Menu sowie im Abschnitt Datenfeed erstellen.

Richtlinien für Datenfeeddateien

Jede Datei, die mehrere Entitäten enthalten darf, darf 200 MB nicht überschreiten. Die Entitäten der obersten Ebene Restaurant, Service und Menu dürfen zusammen mit ihren untergeordneten Entitäten 4 MB nicht zusammen überschreiten.

Hosting-Lösung auswählen

In der folgenden Tabelle sind die Optionen für das Hosten deiner Datenfeeds und ihre Funktionsweise mit „Order with Google“ aufgeführt:

Amazon S3 Google Cloud Storage HTTPS mit einer Sitemap
Anmeldedaten und Zugriff

Stellen Sie Google die folgenden Informationen zur Verfügung:

  • Zugriffsschlüssel-ID
  • Geheimer Zugriffsschlüssel
  • Die Pfade zu Ihren Produktions- und Sandbox-S3-Verzeichnissen und der Datei marker.txt. Der Pfad muss mit s3:// beginnen.

Der S3-Bucket muss die folgenden Informationen enthalten:

  • Feeddateien für Ihr Inventar
  • marker.txt mit einem Zeitstempel zum Abrufen.

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

Geben Sie Google die Pfade zu Ihren Produktions- und Sandbox-Bucket-Verzeichnissen und der Datei marker.txt an. Die Pfade müssen mit gs:// beginnen.

Fügen Sie das von Ihrem Google-Berater bereitgestellte Dienstkonto als Leser Ihres Google Cloud Storage-Buckets hinzu.

Weitere Informationen zum Steuern des Zugriffs für Google Cloud Storage (GCS) finden Sie unter Google Cloud Platform Console: Bucket-Berechtigungen festlegen.

Der GCS-Bucket muss die folgenden Informationen enthalten:

  • Feeddateien für Ihr Inventar
  • marker.txt mit einem Zeitstempel zum Abrufen.

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

Stellen Sie Google die folgenden Informationen zur Verfügung:

  • Anmeldedaten für Ihre Basisauthentifizierung.
  • Der Pfad zu Ihren Sitemap-Pfaden zu Produktions- und Sandbox-Projekten. Der Pfad muss mit https:// beginnen.
  • Protokoll: Sie müssen Ihre Feeddateien über HTTPS zur Verfügung stellen, nicht über HTTP.
  • Sicherheit: Google empfiehlt dringend, die gehosteten Feeddateien mit der Basisauthentifizierung zu schützen.
Woher weiß Google, welche Dateien abgerufen werden müssen? Verzeichnisliste aller Dateien im Bucket. Verzeichnisliste aller Dateien im Bucket. Die einzelnen URLs der in der Sitemap aufgeführten Dateien
Woher weiß Google, dass Dateien abgerufen werden können? Nachdem Sie die Datenfeeds generiert haben, aktualisieren Sie die Datei marker.txt mit dem neuesten Zeitstempel. Nachdem Sie die Datenfeeds generiert haben, aktualisieren Sie die Datei marker.txt mit dem neuesten Zeitstempel. Nachdem Sie die Datenfeeds generiert haben, aktualisieren Sie den Antwortheader last-modified Ihres sitemap.xml mit dem neuesten Zeitstempel.
Dateilimits

Maximale Anzahl von Dateien: 100.000.

Ihr Amazon S3-Bucket muss weniger als 100.000 Dateien enthalten.

Maximale Anzahl von Dateien: 100.000.

Ihr Google Cloud Storage-Bucket muss weniger als 100.000 Dateien enthalten.

Maximale Anzahl von Dateien: 100.000.

Die Anzahl der Dateipfade in deiner XML-Sitemap-Datei muss kleiner als 100.000 sein.

Datenfeeds für die Batchaufnahme verbinden

Nachdem Sie Ihre Feeds gehostet haben, müssen Sie sie im Partner-Portal mit Ihrem Projekt verknüpfen. Die Erstkonfiguration von Produktionsfeeds erfolgt auf der Seite Onboarding Tasks (Onboarding-Aufgaben). Später können die Produktions- und Sandbox-Feeds von jedem Portalnutzer mit Administratorrolle auf der Seite Konfiguration > Feeds aktualisiert werden. Die Sandbox-Umgebung wird für Entwicklungs- und Testzwecke verwendet, die Produktionsfeeds werden Nutzern angezeigt.

Wenn Sie Ihre Datenfeeds mit Amazon S3 hosten

  1. Gehen Sie im Partner-Portal zu Konfiguration > Feeds.
  2. Klicken Sie auf Bearbeiten und füllen Sie das Formular Feed aktualisieren aus:

    • Feedübermittlungsmethode: Wählen Sie die Option Amazon S3 aus.
    • Markierungsdatei: Geben Sie die URL der Datei marker.txt an.
    • Datendateien: Geben Sie die URL zum S3-Bucket an, der die Datenfeeds enthält.
    • Zugriffs-ID:Geben Sie die IAM-Zugriffsschlüssel-ID mit Berechtigungen zum Lesen aus S3-Ressourcen ein.
    • Zugriffsschlüssel:Geben Sie den geheimen Zugriffsschlüssel für IAM ein, der Lesezugriff auf S3-Ressourcen hat.
  3. Klicken Sie auf Senden.
  4. Prüfen Sie nach ein bis zwei Stunden, ob die Batchaufnahme Ihre Feeddateien abruft.

Wenn Sie Ihre Datenfeeds mit Google Cloud Storage hosten

  1. Gehen Sie im Partner-Portal zu Konfiguration > Feeds.
  2. Klicken Sie auf Bearbeiten und füllen Sie das Formular Feed aktualisieren aus:

    • Feedübermittlungsmethode: Wählen Sie Google Cloud Storage aus.
    • Markierungsdatei: Geben Sie die URL der Datei marker.txt an.
    • Datendateien:Geben Sie die URL des GCS-Buckets an, der die Datenfeeds enthält.
  3. Klicken Sie auf Senden.
  4. Ein Dienstkonto für den Zugriff auf Ihren GCS-Bucket wird erstellt. Den Kontonamen finden Sie unter Konfiguration > Feeds, nachdem die Einrichtung abgeschlossen wurde. Dieses Dienstkonto benötigt die Rolle „Leser von Legacy-Storage-Objekten“. Diese Rolle kann dem Dienstkonto auf der IAM-Seite der Google Cloud Console zugewiesen werden.
  5. Prüfen Sie nach ein bis zwei Stunden, ob die Batchaufnahme Ihre Feeddateien abruft.

Wenn Sie Ihre Datenfeeds mit HTTPS hosten

  1. Gehen Sie im Partner-Portal zu Konfiguration > Feeds.
  2. Klicken Sie auf Bearbeiten und füllen Sie das Formular Feed aktualisieren aus:

    • Feedübermittlungsmethode:Wählen Sie die Option HTTPS aus.
    • Sitemap-Datei: Geben Sie die URL der sitemap.xml-Datei an.
    • Nutzername:Geben Sie die Anmeldedaten für den Zugriff auf den HTTPS-Server ein.
    • Passwort:Geben Sie das Passwort für den Zugriff auf den HTTPS-Server ein.
  3. Klicken Sie auf Senden.
  4. Prüfen Sie nach ein bis zwei Stunden, ob die Batchaufnahme Ihre Feeddateien abruft.

Beispielpfade

Die folgende Tabelle enthält Beispielpfade für jede der Hostingoptionen:

Amazon S3 Google Cloud Storage HTTPS mit einer Sitemap
Pfad s3://foorestaurant-google-feed-sandbox/ gs://foorestaurant-google-feed-sandbox/ https://sandbox-foorestaurant.com/sitemap.xml
Markierungsdatei s3://foorestaurant-google-feed-sandbox/marker.txt gs://foorestaurant-google-feed-sandbox/marker.txt Nicht zutreffend

Sitemaps für HTTPS-Hosting

Beachten Sie beim Definieren von Sitemaps die folgenden Richtlinien:

  • Links in deiner Sitemap müssen auf die Dateien selbst verweisen.
  • Wenn deine Sitemap Verweise auf einen Cloud-Anbieter statt auf deinen eigenen Domainnamen enthält, achte darauf, dass der Anfang der URLs, z. B. https://www.yourcloudprovider.com/your_id, stabil und für deinen Batchjob eindeutig ist.
  • Achte darauf, keine unvollständigen Sitemaps hochzuladen, z. B. bei einem unvollständigen Datenupload. Dadurch nimmt Google nur die Dateien in der Sitemap auf. Dadurch sinkt deine Inventarebene und deine Feedaufnahme wird möglicherweise blockiert.
  • Achten Sie darauf, dass sich die Pfade zu den in der Sitemap genannten Dateien nicht ändern. Beispielsweise solltest du nicht darauf achten, dass deine Sitemap heute auf https://www.yourcloudprovider.com/your_id/10000.json verweist, sondern morgen auf https://www.yourcloudprovider.com/your_id/20000.json verweist.
Beispiel für eine Sitemap

Hier ist ein Beispiel für eine sitemap.xml-Datei, die Datenfeeddateien bereitstellt:

Beispiel 1: Nach Händlern gruppierte Entitäten (empfohlen)

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>

Beispiel 2: Nach Typen gruppierte Entitäten.

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>

Datenfeeds aktualisieren

Nachdem deine Datenfeeds verbunden sind, sucht Google einmal pro Stunde nach Updates. Wir nehmen jedoch alle Datenfeeds nur auf, wenn die Dateien marker.txt oder sitemap.xml geändert wurden. Wir gehen davon aus, dass Sie Ihre Datenfeeds einmal täglich aktualisieren, um veraltetes Inventar zu vermeiden.

Wenn Sie angeben möchten, dass die Datenfeeds geändert wurden und für die Batchaufnahme bereit sind, aktualisieren Sie das Objektmetadatenfeld last-modified der Datei marker.txt (für die GCP und S3) oder den Antwortheader last-modified der Datei sitemap.xml. Google verwendet diese Werte, um zu bestimmen, wie aktuell ein Datenfeed ist.

Wenn der Batchfeed aufgenommen wird,

  • Neue Entitäten, die nicht in Ihrem aktuellen OwG-Inventar enthalten sind und in denen keine Fehler enthalten sind, werden eingefügt.
  • Entitäten, die im Inventar bereits vorhanden sind und keine Fehler bei der Aufnahme haben, haben entweder einen dateModified aktuelleren Wert als der aktuelle Eintrag oder wenn dateModified keine Startzeit für die Feedaufnahme hat als der aktuelle Eintrag, die sie andernfalls aktualisieren würden. Andernfalls werden sie als veraltet gekennzeichnet.
  • Entitäten, die Teil eines früheren Feeds waren, die nicht mehr im Batchfeed enthalten sind, werden gelöscht, sofern der Feed keine Fehler auf Dateiebene enthält.

Der Zeitstempel oder der last-modified-Antwortheader darf erst aktualisiert werden, nachdem alle Datenfeeddateien generiert und aktualisiert wurden. Beschränken Sie die Batchjobs, mit denen Ihre Datenfeeds aktualisiert werden, so, dass sie nur einmal täglich ausgeführt werden. Alternativ sollte jeder Abstand zwischen den Batchjobs mindestens drei Stunden betragen. Wenn Sie diese Schritte nicht ausführen, ruft Google möglicherweise veraltete Dateien ab.