Vos flux de données permettent vous rendez votre restaurant, vos services et votre menu disponibles dans l'option "Commandes de bout en bout".
Ce document explique comment héberger vos inventaires de bac à sable et de production, et comment utiliser l'ingestion par lots. pour mettre à jour votre inventaire dans l'onglet "Commandes" de bout en bout.
Environnements de flux de données
Trois environnements de flux de données sont disponibles pour le développement de votre intégration:
Environnement du flux | Description | Ingestion par lots |
---|---|---|
Bac à sable | Environnement de test pour le développement de votre flux | Obligatoire |
Production | Environnement de production de l'inventaire que vous souhaitez lancer. | Obligatoire |
Hébergement de flux de données
Pour que la commande de bout en bout traite vos flux de données de production et de bac à sable par lot vous devez héberger vos fichiers de flux de données sur Google Cloud Storage, Amazon S3 ou HTTPS à l'aide d'un un sitemap.
Nous vous recommandons d'héberger les flux de données pour vos environnements de bac à sable et de production. séparément. Cette approche vous permet d'effectuer des développements et des tests dans votre environnement de flux de bac à sable. avant de déployer les modifications en production.
Par exemple, si vous utilisez Google Cloud Storage comme option d'hébergement, vous disposez des options suivantes : chemins:
- Flux bac à sable:
gs://foorestaurant-google-feed-sandbox/
- Flux de production:
gs://foorestaurant-google-feed-prod/
Pour héberger votre inventaire, procédez comme suit:
- Générez les fichiers de votre flux de données.
- Choisissez une solution d'hébergement.
- Hébergez vos flux de données.
- Veillez à mettre à jour régulièrement vos fichiers de flux de données. Les flux de données de production doivent être mis à jour tous les jours.
Pour en savoir plus sur la création d'un flux d'inventaire, consultez la documentation
Restaurant
Service
et Menu
entités, ainsi que
Créer un flux de données
.
Consignes relatives aux fichiers de flux de données
Un fichier, qui peut contenir plusieurs entités, ne doit pas dépasser 200 Mo. Le premier niveau
les entités Restaurant
, Service
et Menu
, ainsi que leurs
enfants, ne doivent pas dépasser 4 Mo au total.
Choisir une solution d'hébergement
Le tableau suivant répertorie les options d'hébergement de vos flux de données et la façon dont ces hôtes fonctionnent avec Commande de bout en bout:
Amazon S3 | Google Cloud Storage | HTTPS avec un sitemap | |
---|---|---|---|
Identifiants et accès |
Fournissez à Google les informations suivantes:
Le bucket S3 doit inclure les informations suivantes:
Exemple de fichier |
Fournissez à Google les chemins d'accès à vos répertoires de buckets de production et de bac à sable, et
Ajoutez le compte de service fourni par votre consultant Google en tant que lecteur de votre bucket Cloud Storage. Pour en savoir plus sur le contrôle des accès à Google Cloud Storage (GCS), consultez Google Console Cloud Platform: définir des autorisations sur un bucket Le bucket GCS doit inclure les informations suivantes:
Exemple de fichier |
Fournissez à Google les informations suivantes:
|
Comment Google détermine-t-il les fichiers à récupérer ? | Liste de répertoires de tous les fichiers du bucket. | Liste de répertoires de tous les fichiers du bucket. | URL individuelles des fichiers répertoriés dans le sitemap. |
Comment Google sait que les fichiers sont prêts à être récupérés | Après avoir généré vos flux de données, mettez à jour le fichier marker.txt
avec le code temporel le plus récent. |
Après avoir généré vos flux de données, mettez à jour le fichier marker.txt
avec le code temporel le plus récent. |
Après avoir généré vos flux de données, mettez à jour l'en-tête de réponse
last-modified de votre sitemap.xml avec le dernier code temporel. |
Limites pour les fichiers |
Nombre maximal de fichiers: 100 000. Votre bucket Amazon S3 doit contenir moins de 100 000 fichiers au total. |
Nombre maximal de fichiers: 100 000. Votre bucket Google Cloud Storage doit contenir moins de 100 000 fichiers au total. |
Nombre maximal de fichiers: 100 000. Le nombre de chemins d'accès dans votre fichier XML de sitemap doit être inférieur à 100 000. |
Connecter vos flux de données pour l'ingestion par lots
Une fois vos flux hébergés, vous devez les associer à votre projet dans le Centre Actions. La la configuration initiale des flux de production s'effectue sur la page Tâches d'intégration. Plus tard la configuration des flux de production et de bac à sable peut être mise à jour à tout moment sur la page Configuration > Flux par tout utilisateur du portail disposant d'un d'administration. L'environnement Sandbox est utilisé à des fins de développement et de test, tandis que les flux de production sont présentés aux utilisateurs.
Si vous hébergez vos flux de données avec Amazon S3
- Dans le Centre d'actions, accédez à Configuration > Flux.
-
Cliquez sur Edit (Modifier), puis remplissez le formulaire Update Feed (Mettre à jour le flux) :
- Mode d'envoi du flux:définissez Amazon S3.
- Fichier de repère:indiquez l'URL du fichier
marker.txt
. - Fichiers de données:indiquez l'URL du bucket S3 contenant les flux de données.
- ID d'accès:saisissez l'ID de clé d'accès IAM disposant des autorisations de lecture à partir de S3. ressources.
- Access Key (Clé d'accès) : saisissez la clé d'accès secrète IAM disposant d'autorisations de lecture à partir de S3. ressources.
- Cliquez sur Envoyer.
- Au bout d'une à deux heures, vérifiez si l'ingestion par lots récupère vos fichiers de flux.
Si vous hébergez vos flux de données avec Google Cloud Storage
- Dans le Centre d'actions, accédez à Configuration > Flux.
-
Cliquez sur Edit (Modifier), puis remplissez le formulaire Update Feed (Mettre à jour le flux) :
- Mode d'envoi du flux:à définir sur Google Cloud Storage.
- Fichier de repère:indiquez l'URL du fichier
marker.txt
. - Fichiers de données:indiquez l'URL du bucket GCS contenant les flux de données.
- Cliquez sur Envoyer.
- Un compte de service est créé pour accéder à votre bucket GCS. Le nom du compte se trouve dans Configuration > Flux après les tâches d'intégration sont terminés. Ce compte de service doit disposer du rôle "Lecteur des anciens objets Storage". Ce rôle permet être accordé au compte de service sur la page IAM de la console Google Cloud.
- Au bout d'une à deux heures, vérifiez si l'ingestion par lots récupère vos fichiers de flux.
Si vous hébergez vos flux de données via HTTPS
- Dans le Centre d'actions, accédez à Configuration > Flux.
-
Cliquez sur Edit (Modifier), puis remplissez le formulaire Update Feed (Mettre à jour le flux) :
- Mode de diffusion du flux:définissez la valeur sur HTTPS.
- Fichier sitemap:indiquez l'URL du fichier
sitemap.xml
. - Nom d'utilisateur:saisissez les identifiants du nom d'utilisateur pour accéder au serveur HTTPS.
- Mot de passe:saisissez le mot de passe permettant d'accéder au serveur HTTPS.
- Cliquez sur Envoyer.
- Au bout d'une à deux heures, vérifiez si l'ingestion par lots récupère vos fichiers de flux.
Exemples de chemins
Le tableau suivant contient des exemples de chemins pour chacune des options d'hébergement:
Amazon S3 | Google Cloud Storage | HTTPS avec un sitemap | |
---|---|---|---|
Chemin | s3://foorestaurant-google-feed-sandbox/ |
gs://foorestaurant-google-feed-sandbox/ |
https://sandbox-foorestaurant.com/sitemap.xml |
Fichier de repères | s3://foorestaurant-google-feed-sandbox/marker.txt |
gs://foorestaurant-google-feed-sandbox/marker.txt |
Non applicable |
Plans de site pour l'hébergement HTTPS
Respectez les consignes suivantes lorsque vous définissez des sitemaps:
- Les liens de votre sitemap doivent pointer vers les fichiers eux-mêmes.
- Si votre plan de site contient des références à un fournisseur de services cloud au lieu de votre propre nom de domaine,
assurez-vous que le début des URL, comme
https://www.yourcloudprovider.com/your_id
, sont stables et propres à votre job par lot. - Veillez à ne pas importer de sitemaps partiels (comme une importation partielle des données). Faire Google n'ingérera donc que les fichiers du sitemap, ce qui entraînera l'infiltration de votre inventaire et peut entraîner le blocage de l'ingestion de votre flux.
- Assurez-vous que les chemins d'accès aux fichiers référencés dans le sitemap ne changent pas. Par exemple, ne
utilisez la référence de sitemap
https://www.yourcloudprovider.com/your_id/10000.json
mais aussi en faisant référence àhttps://www.yourcloudprovider.com/your_id/20000.json
demain.
Exemple de sitemap
Voici un exemple de fichier sitemap.xml
servant à diffuser des fichiers de flux de données:
Exemple 1: Entités regroupées par marchands (recommandé).
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>
Exemple 2: Entités regroupées par types
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>
Mettre à jour vos flux de données
Une fois vos flux de données connectés, Google recherche des mises à jour une fois par heure, mais nous n'ingérons que
tous les flux de données lorsque les fichiers marker.txt
ou sitemap.xml
ont été
modifiées. Nous vous demandons de mettre à jour vos flux de données une fois par jour pour éviter que votre inventaire ne soit obsolète.
Pour indiquer que les flux de données ont été modifiés et sont prêts pour l'ingestion par lots, mettez à jour
champ de métadonnées de l'objet last-modified
du fichier marker.txt
(pour GCP et
S3) ou l'en-tête de réponse last-modified
du fichier sitemap.xml
. Google
utilise ces valeurs pour déterminer la fraîcheur d'un flux de données.
Pendant l'ingestion du flux par lot,
- Nouvelles entités qui n'existent pas dans l'inventaire de bout en bout de vos commandes actuel et qui n'en comportent pas sont insérées.
-
Entités déjà présentes dans l'inventaire pour lesquelles il n'existe aucune erreur
ingestion et ont un
dateModified
plus récent que le l'entrée actuelle ou, en l'absence dedateModified
, l'heure de début de l'ingestion du flux est plus récente que l'entrée actuelle doivent être mis à jour, sinon ils seront marqués comme non actualisés. - Entités qui faisaient partie d'un flux précédent et qui ne sont plus incluses dans le flux par lot en cours de traitement est supprimé, à condition qu'il n'y ait pas de fichier dans le flux.
Le code temporel ou l'en-tête de réponse last-modified
ne doivent être mis à jour qu'après que toutes les données
sont générés et mis à jour. Limiter l'exécution des tâches par lot qui mettent à jour vos flux de données
une fois par jour. Vous pouvez également prévoir un intervalle d'au moins trois heures entre chaque tâche par lot. Si vous ne
suivez ces étapes, il se peut que Google récupère des fichiers obsolètes.