Mit Ihren Datenfeeds können Sie stellen Sie Ihr Restaurant, Ihre Dienstleistungen und Ihre Speisekarte in einer End-to-End-Bestellung zur Verfügung.
In diesem Dokument wird beschrieben, wie Sie Ihr Sandbox- und Produktionsinventar hosten und die Batchaufnahme verwenden. um Ihr Inventar im Bereich Auftrags-End-to-End-Aktualisierung zu aktualisieren.
Datenfeed-Umgebungen
Für die Integrationsentwicklung stehen drei Datenfeed-Umgebungen zur Verfügung:
Feedumgebung | Beschreibung | Batchaufnahme |
---|---|---|
Sandbox | Die Testumgebung für Ihre Feedentwicklung. | Erforderlich |
Produktion | Die Produktionsumgebung für das Inventar, das Sie einführen möchten. | Erforderlich |
Hosting-Daten-Feeds
Damit die End-to-End-Bestellung Ihre Sandbox- und Produktionsdaten-Feeds im Batch verarbeiten kann müssen Sie Ihre Datenfeed-Dateien in Google Cloud Storage, Amazon S3 oder HTTPS mit einem Sitemap.
Wir empfehlen, die Datenfeeds für Ihre Sandbox- und Produktionsumgebungen zu hosten. separat. 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 Hosting-Option verwenden, erhalten Sie Folgendes: Pfade:
- Sandbox-Feed:
gs://foorestaurant-google-feed-sandbox/
- Produktionsfeed:
gs://foorestaurant-google-feed-prod/
So hosten Sie Ihr Inventar:
- Erstellen Sie Ihre Datenfeed-Dateien.
- Wählen Sie eine Hostinglösung aus.
- Hosten Sie Ihre Datenfeeds.
- Aktualisieren Sie Ihre Datenfeed-Dateien regelmäßig. Produktionsdatenfeeds müssen aktualisiert werden täglich.
Weitere Informationen zum Erstellen eines Inventarfeeds finden Sie in der Dokumentation zum
Restaurant
,
Service
und Menu
Entitäten sowie die
Datenfeed erstellen
.
Richtlinien für Datenfeeddateien
Jede Datei, die mehrere Elemente enthalten kann, darf 200 MB nicht überschreiten. Die oberste Ebene
die Entitäten Restaurant
, Service
und Menu
zusammen mit ihren
untergeordneten Entitäten zusammen nicht größer als 4 MB sein.
Hostinglösung auswählen
In der folgenden Tabelle sind die Optionen zum Hosten Ihrer Datenfeeds aufgeführt und die Funktionsweise dieser Hosts Reihenfolge:
Amazon S3 | Google Cloud Storage | HTTPS mit einer Sitemap | |
---|---|---|---|
Anmeldedaten und Zugriff |
Stellen Sie Google die folgenden Informationen zur Verfügung:
Der S3-Bucket muss die folgenden Informationen enthalten:
Beispieldatei |
Geben Sie Google die Pfade zu Ihren Produktions- und Sandbox-Bucket-Verzeichnissen sowie
Fügen Sie das von Ihrem Google-Berater bereitgestellte Dienstkonto als Leser Ihrer Google Cloud Storage-Bucket. 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:
Beispieldatei |
Stellen Sie Google die folgenden Informationen zur Verfügung:
|
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? | Aktualisieren Sie nach dem Generieren Ihrer Datenfeeds die Datei marker.txt .
mit dem aktuellen Zeitstempel. |
Aktualisieren Sie nach dem Generieren Ihrer Datenfeeds die Datei marker.txt .
mit dem aktuellen Zeitstempel. |
Aktualisieren Sie nach dem Generieren Ihrer Datenfeeds den Antwortheader
last-modified von sitemap.xml mit dem neuesten Zeitstempel. |
Dateibeschränkungen |
Maximale Anzahl von Dateien: 100.000. Ihr Amazon S3-Bucket muss insgesamt weniger als 100.000 Dateien enthalten. |
Maximale Anzahl von Dateien: 100.000. Ihr Google Cloud Storage-Bucket muss insgesamt weniger als 100.000 Dateien enthalten. |
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 im Actions Center mit Ihrem Projekt verbinden. Die Die Erstkonfiguration von Produktionsfeeds erfolgt auf der Seite Onboarding Tasks (Onboarding-Aufgaben). Später Die Konfiguration von Produktions- und Sandbox-Feeds kann jederzeit über die Seite Konfiguration > Feeds von jedem Portalnutzer aktualisiert werden, der ein Administratorrolle ein. Die Sandbox-Umgebung wird zu Entwicklungs- und Testzwecken verwendet, während werden die Produktionsfeeds den Nutzern angezeigt.
Wenn Sie Ihre Datenfeeds mit Amazon S3 hosten
- Gehen Sie im Actions Center zu Konfiguration > Feeds:
-
Klicken Sie auf Bearbeiten und füllen Sie das Formular Feed aktualisieren aus:
- Feedauslieferungsmethode:Legen Sie diese Option auf Amazon S3 fest.
- Markierungsdatei:Geben Sie die URL der Datei
marker.txt
an. - Datendateien: Geben Sie die URL zum 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 ein Ressourcen.
- Access Key (Zugriffsschlüssel): Geben Sie den geheimen Zugriffsschlüssel für IAM mit Berechtigungen zum Lesen aus S3 ein. Ressourcen.
- Klicken Sie auf Senden.
- Prüfen Sie nach ein bis zwei Stunden, ob die Batchaufnahme Ihre Feeddateien abruft.
Wenn Sie Ihre Datenfeeds mit Google Cloud Storage hosten
- Gehen Sie im Actions Center zu Konfiguration > Feeds:
-
Klicken Sie auf Bearbeiten und füllen Sie das Formular Feed aktualisieren aus:
- Feedauslieferungsmethode: Legen Sie Google Cloud Storage fest.
- Markierungsdatei:Geben Sie die URL der Datei
marker.txt
an. - Datendateien:Geben Sie die URL zum GCS-Bucket an, der die Datenfeeds enthält.
- Klicken Sie auf Senden.
- Ein Dienstkonto wird für den Zugriff auf Ihren GCS-Bucket erstellt. Den Kontonamen finden Sie hier: Nach den Onboarding-Aufgaben Konfiguration > Feeds abgeschlossen sind. Dieses Dienstkonto benötigt die Rolle „Leser alter Storage-Objekte“. Diese Rolle kann die dem Dienstkonto auf der IAM-Seite der Google Cloud Console zugewiesen werden.
- Prüfen Sie nach ein bis zwei Stunden, ob die Batchaufnahme Ihre Feeddateien abruft.
Wenn Sie Ihre Datenfeeds mit HTTPS hosten
- Gehen Sie im Actions Center zu Konfiguration > Feeds:
-
Klicken Sie auf Bearbeiten und füllen Sie das Formular Feed aktualisieren aus:
- Methode der Feedübermittlung:Auf HTTPS festgelegt.
- Sitemap-Datei: Geben Sie die URL der
sitemap.xml
-Datei an. - Nutzername:Geben Sie den Nutzernamen ein, um auf den HTTPS-Server zuzugreifen.
- Passwort: Geben Sie das Passwort ein, um auf den HTTPS-Server zuzugreifen.
- Klicken Sie auf Senden.
- 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 Ihrer Sitemap müssen auf die Dateien selbst verweisen.
- Wenn Ihre Sitemap Verweise auf einen Cloud-Anbieter und nicht auf Ihren eigenen Domainnamen enthält,
Achten Sie darauf, dass am Anfang der URLs, z. B.
https://www.yourcloudprovider.com/your_id
, stabil und für Ihren Batchjob eindeutig sind. - Achten Sie darauf, keine Teil-Sitemaps hochzuladen (wie im Fall eines unvollständigen Daten-Uploads). Tun sodass Google nur die Dateien in der Sitemap aufnimmt, wodurch Ihr Inventar und können dazu führen, dass die Feedaufnahme blockiert wird.
- Achten Sie darauf, dass sich die Pfade zu den Dateien, auf die in der Sitemap verwiesen wird, nicht ändern. Vermeiden Sie beispielsweise
Ihre Sitemap-Referenz
https://www.yourcloudprovider.com/your_id/10000.json
heute, aber dann aufhttps://www.yourcloudprovider.com/your_id/20000.json
verweisen
Beispiel für eine Sitemap
Hier sehen Sie eine sitemap.xml
-Beispieldatei, 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 Ihre Datenfeeds verbunden sind, sucht Google einmal stündlich nach Aktualisierungen, die Daten werden aber nur aufgenommen,
Alle Datenfeeds, wenn die Dateien marker.txt
oder sitemap.xml
geändert. 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 die
Objektmetadatenfeld last-modified
der Datei marker.txt
(für die GCP und
S3) oder dem last-modified
-Antwortheader der Datei sitemap.xml
. Google
bestimmt anhand dieser Werte, wie aktuell ein Datenfeed ist.
Während der Batch-Feed aufgenommen wird,
- Neue Elemente, die nicht im aktuellen End-to-End-Inventar für Aufträge vorhanden sind und keine würden eingefügt.
-
Bereits im Inventar vorhandene Entitäten, die keine Fehler enthalten
Datenaufnahme und entweder eine
dateModified
aktueller als ihr aktuellen Eintrag oder wenn keindateModified
vorhanden ist, Der Beginn der Feedaufnahme liegt nach dem aktuellen Eintrag aktualisiert werden, da sie andernfalls als veraltet gekennzeichnet würden. - Entitäten, die Teil eines vorherigen Feeds waren und nicht mehr in wird der verarbeitete Batch-Feed gelöscht, sofern keine Datei Fehler auf dieser Ebene im Feed.
Der Zeitstempel oder der Antwortheader last-modified
darf erst aktualisiert werden, nachdem alle Daten
Feeddateien generiert und aktualisiert werden. Batchjobs zum Aktualisieren Ihrer Datenfeeds auf die Ausführung beschränken
einmal täglich. Alternativ können Sie zwischen den einzelnen Batchjobs einen Abstand von mindestens drei Stunden einrichten. Wenn Sie keine
diese Schritte ausführen, ruft Google
möglicherweise veraltete Dateien ab.