Batchaufnahme

Über Ihre Datenfeeds können Sie Ihr Restaurant, Ihre Dienstleistungen und Ihre Speisekarte in „End-to-End-Bestellsystem“ verfügbar machen.

In diesem Dokument wird beschrieben, wie du deine Sandbox- und Produktionsinventare hosten und dein Inventar mithilfe der Batchaufnahme in der End-to-End-Bestellung aktualisieren kannst.

Datenfeed-Umgebungen

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

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

Hosting-Datenfeeds

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

Wir empfehlen, die Datenfeeds für deine Sandbox- und Produktionsumgebungen getrennt zu hosten. So 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, erhalten Sie die folgenden 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. Stellen Sie sicher, dass Ihre Datenfeeddateien regelmäßig aktualisiert werden. Produktionsdatenfeeds müssen täglich aktualisiert werden.

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

Richtlinien zu Datenfeed-Dateien

Jede Datei, die mehrere Elemente enthalten kann, darf nicht größer als 200 MB sein. Die übergeordneten Entitäten Restaurant, Service und Menu dürfen zusammen mit ihren untergeordneten Entitäten insgesamt nicht größer als 4 MB sein.

Hostinglösung auswählen

In der folgenden Tabelle sind die Optionen für das Hosting Ihrer Datenfeeds aufgeführt und es wird erläutert, wie diese Hosts mit der End-to-End-Bestellung funktionieren:

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 Ihrer marker.txt-Datei. Der Pfad muss mit s3:// beginnen.

Der S3-Bucket muss die folgenden Informationen enthalten:

  • Feeddateien für Ihr Inventar.
  • marker.txt, die einen Zeitstempel zum Abrufen enthält.

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

Stellen Sie Google die Pfade zu Ihren Produktions- und Sandbox-Bucket-Verzeichnissen und der marker.txt-Datei bereit. 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, die einen Zeitstempel zum Abrufen enthält.

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 für die Produktion und die Sandbox. Der Pfad muss mit https:// beginnen.
  • Protokoll: Sie müssen Ihre Feeddateien über HTTPS und nicht über HTTP verfügbar machen.
  • Sicherheit: Google empfiehlt dringend, Ihre gehosteten Feeddateien mit einer Basisauthentifizierung zu schützen.
Woher weiß Google, welche Dateien abgerufen werden müssen? Verzeichnisliste aller Dateien im Bucket. Verzeichnisliste aller Dateien im Bucket. Einzelne 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 von sitemap.xml durch den aktuellen Zeitstempel.
Dateibeschränkungen

Maximale Anzahl von Dateien: 100.000.

Sie dürfen insgesamt weniger als 100.000 Dateien in Ihrem Amazon S3-Datenbehälter haben.

Maximale Anzahl von Dateien: 100.000.

Insgesamt dürfen sich weniger als 100.000 Dateien in Ihrem Google Cloud Storage-Bucket befinden.

Maximale Anzahl von Dateien: 100.000.

Die Anzahl der Dateipfade in Ihrer Sitemap-XML-Datei darf 100.000 nicht überschreiten.

Datenfeeds für die Batchaufnahme verbinden

Nachdem Sie Ihre Feeds gehostet haben, müssen Sie sie mit Ihrem Projekt im Actions Center verknüpfen. Die Erstkonfiguration von Produktionsfeeds erfolgt auf der Seite Onboarding-Aufgaben. Die Konfiguration der Produktions- und Sandbox-Feeds kann später jederzeit über die Seite Konfiguration > Feeds von Portalnutzern mit Administratorrolle aktualisiert werden. Die Sandbox-Umgebung wird zu Entwicklungs- und Testzwecken verwendet, während Nutzern die Produktionsfeeds angezeigt werden.

Wenn Sie Ihre Datenfeeds mit Amazon S3 hosten

  1. Klicken Sie im Actions Center auf Konfiguration > Feeds.
  2. Klicken Sie auf Bearbeiten und füllen Sie das Formular Feed aktualisieren aus:

    • Feedbereitstellungsmethode: Wählen Sie Amazon S3 aus.
    • Markierungsdatei: Geben Sie die URL der Datei marker.txt an.
    • Datendateien:Geben Sie die URL zu dem S3-Bucket an, der die Datenfeeds enthält.
    • Access ID (Zugriffs-ID): Geben Sie die IAM-Zugriffsschlüssel-ID mit Berechtigungen zum Lesen aus S3-Ressourcen ein.
    • Access Key (Zugriffsschlüssel): Geben Sie den geheimen IAM-Zugriffsschlüssel mit Berechtigungen zum Lesen aus S3-Ressourcen ein.
  3. Klicken Sie auf Senden.
  4. Prüfen Sie nach ein bis zwei Stunden, ob Ihre Feeddateien von der Batchaufnahme abgerufen werden.

Wenn Sie Ihre Datenfeeds mit Google Cloud Storage hosten

  1. Klicken Sie im Actions Center auf Konfiguration > Feeds.
  2. Klicken Sie auf Bearbeiten und füllen Sie das Formular Feed aktualisieren aus:

    • Feed delivery method (Feedbereitstellungsmethode): Wählen Sie Google Cloud Storage aus.
    • Markierungsdatei: Geben Sie die URL der Datei marker.txt an.
    • Datendateien:Geben Sie die URL zum GCS-Bucket mit den Datenfeeds an.
  3. Klicken Sie auf Senden.
  4. Für den Zugriff auf Ihren GCS-Bucket wird ein Dienstkonto erstellt. Den Kontonamen finden Sie nach Abschluss der Einrichtung unter Konfiguration > Feeds. Dieses Dienstkonto benötigt die Rolle „Leser alter Storage-Objekte“. 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 Ihre Feeddateien von der Batchaufnahme abgerufen werden.

Wenn Sie Ihre Datenfeeds mit HTTPS hosten

  1. Klicken Sie im Actions Center auf Konfiguration > Feeds.
  2. Klicken Sie auf Bearbeiten und füllen Sie das Formular Feed aktualisieren aus:

    • Feedbereitstellungsmethode: Legen Sie HTTPS fest.
    • Sitemap-Datei:Geben Sie die URL der sitemap.xml-Datei an.
    • Nutzername:Geben Sie die Anmeldedaten für den Nutzernamen ein, um auf den HTTPS-Server zuzugreifen.
    • 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 Ihre Feeddateien von der Batchaufnahme abgerufen werden.

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 Ihrer Sitemap müssen auf die Dateien selbst verweisen.
  • Wenn deine Sitemap Verweise auf einen Cloud-Anbieter anstelle deines eigenen Domainnamens 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.
  • Laden Sie keine unvollständigen Sitemaps hoch, z. B. nur teilweise. Dies führt dazu, dass Google nur die Dateien in der Sitemap aufnimmt. Dadurch sinken Ihre Inventarebenen und Ihre Feedaufnahme wird möglicherweise blockiert.
  • Achten Sie darauf, dass sich die Pfade zu den Dateien, auf die in der Sitemap verwiesen wird, nicht ändern. Beispielsweise solltest du heute nicht in deiner Sitemap auf https://www.yourcloudprovider.com/your_id/10000.json verweisen, aber morgen auf https://www.yourcloudprovider.com/your_id/20000.json verweisen.
Beispiel für eine Sitemap

Hier sehen Sie eine sitemap.xml-Beispieldatei mit Datenfeeddateien:

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 die Datenfeeds verknüpft wurden, sucht Google einmal pro Stunde nach Aktualisierungen. Wir nehmen jedoch nur dann alle Datenfeeds auf, wenn die marker.txt- oder sitemap.xml-Dateien 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 GCP und S3) oder den Antwortheader last-modified der Datei sitemap.xml. Google bestimmt anhand dieser Werte, wie aktuell ein Datenfeed ist.

Während der Batch-Feed aufgenommen wird,

  • Es werden neue Entitäten eingefügt, die in Ihrem aktuellen End-to-End-Inventar für Aufträge nicht vorhanden sind und keine Fehler aufweisen.
  • Bereits im Inventar vorhandene Entitäten ohne Fehler bei der Aufnahme, deren dateModified entweder aktueller ist als ihr aktueller Eintrag oder wenn dateModified nicht vorhanden ist, ist der Beginn der Feedaufnahme nach dem aktuellen Eintrag höher als der aktuelle Eintrag. Andernfalls werden sie als veraltet markiert.
  • Entitäten, die Teil eines vorherigen Feeds waren und nicht mehr im zu verarbeitenden Batchfeed enthalten sind, werden gelöscht, sofern der Feed keine Fehler auf Dateiebene aufweist.

Der Zeitstempel oder der Antwortheader last-modified darf erst aktualisiert werden, nachdem alle Datenfeeddateien generiert und aktualisiert wurden. Beschränken Sie die Batchjobs, mit denen Ihre Datenfeeds aktualisiert werden, auf eine einmalige Ausführung am Tag. Alternativ sollten Sie zwischen den einzelnen Batchjobs mindestens drei Stunden liegen. Wenn Sie diese Schritte nicht ausführen, ruft Google möglicherweise veraltete Dateien ab.