I feed di dati ti consentono di mettere a disposizione il tuo ristorante, i tuoi servizi e il tuo menu in Ordering End-to-End.
Questo documento spiega come ospitare gli inventari sandbox e di produzione e utilizzare l'importazione collettiva per aggiornare l'inventario in Ordering End-to-End.
Ambienti dei feed di dati
Per lo sviluppo dell'integrazione sono disponibili tre ambienti di feed di dati:
Ambiente del feed | Descrizione | Importazione in batch |
---|---|---|
Sandbox | L'ambiente di test per lo sviluppo del feed. | Obbligatorio |
Produzione | L'ambiente di produzione per l'inventario che vuoi lanciare. | Obbligatorio |
Hosting di feed di dati
Affinché Ordering End-to-End possa elaborare i feed di dati di sandbox e di produzione tramite l'importazione collettiva, devi ospitare i file dei feed di dati in Google Cloud Storage, Amazon S3 o HTTPS con una sitemap.
Ti consigliamo di ospitare i feed di dati per gli ambienti sandbox e di produzione distintamente. Questo approccio ti consente di eseguire lo sviluppo e i test nell'ambiente del feed della sandbox prima di eseguire il deployment delle modifiche in produzione.
Ad esempio, se utilizzi Google Cloud Storage come opzione di hosting, avrai i seguenti percorsi:
- Feed sandbox:
gs://foorestaurant-google-feed-sandbox/
- Feed di produzione:
gs://foorestaurant-google-feed-prod/
Per ospitare il tuo inventario:
- Genera i file del feed di dati.
- Scegli una soluzione di hosting.
- Ospita i tuoi feed di dati.
- Assicurati che i file del feed di dati vengano aggiornati regolarmente. I feed di dati di produzione devono essere aggiornati quotidianamente.
Per informazioni dettagliate su come creare un feed di inventario, consulta la documentazione relativa alle entità Restaurant
, Service
e Menu
, nonché la sezione Creare un feed di dati.
Linee guida sui file del feed di dati
Ogni file, che può contenere più entità, non deve superare i 200 MB. Le entità di primo livello Restaurant
, Service
e Menu
, insieme alle relative entità figlio, non devono superare complessivamente i 4 MB.
Scegliere una soluzione di hosting
La tabella seguente elenca le opzioni per l'hosting dei feed di dati e il funzionamento di questi host con Ordinamento end-to-end:
Amazon S3 | Google Cloud Storage | HTTPS con una Sitemap | |
---|---|---|---|
Credenziali e accesso |
Fornisci a Google le seguenti informazioni:
Il bucket S3 deve includere le seguenti informazioni:
File |
Fornisci a Google i percorsi delle directory dei bucket di produzione e sandbox e del
Aggiungi l'account di servizio fornito dal tuo consulente Google come lettore del tuo bucket Google Cloud Storage. Per ulteriori informazioni su come controllare l'accesso per Google Cloud Storage (GCS), consulta Console della piattaforma Google Cloud: impostare le autorizzazioni dei bucket. Il bucket GCS deve includere le seguenti informazioni:
File |
Fornisci a Google le seguenti informazioni:
|
In che modo Google sa quali file devono essere recuperati | Elenco di directory di tutti i file nel bucket. | Elenco di directory di tutti i file nel bucket. | Singoli URL dei file elencati nella sitemap. |
In che modo Google sa che i file sono pronti per il recupero | Al termine della generazione dei feed di dati, aggiorna il file marker.txt
con l'ultimo timestamp. |
Al termine della generazione dei feed di dati, aggiorna il file marker.txt
con l'ultimo timestamp. |
Al termine della generazione dei feed di dati, aggiorna l'intestazione di risposta
last-modified del tuo sitemap.xml con l'ultimo timestamp. |
Limiti per i file |
Numero massimo di file: 100.000. Nel bucket Amazon S3 devono essere presenti meno di 100.000 file in totale. |
Numero massimo di file: 100.000. Nel bucket Google Cloud Storage devono essere presenti meno di 100.000 file in totale. |
Numero massimo di file: 100.000. Il numero di percorsi file all'interno del file XML della sitemap deve essere inferiore a 100.000. |
Collegare i feed di dati per l'importazione collettiva
Dopo aver ospitato i feed, devi collegarli al tuo progetto in Actions Center. La configurazione iniziale dei feed di produzione viene eseguita nella pagina Attività di onboarding. In un secondo momento, la configurazione dei feed di produzione e della sandbox può essere aggiornata in qualsiasi momento dalla pagina Configurazione > Feed da qualsiasi utente del portale con un ruolo amministrativo. L'ambiente sandbox viene utilizzato per scopi di sviluppo e test, mentre i feed di produzione vengono mostrati agli utenti.
Se ospiti i tuoi feed di dati con Amazon S3
- In Centro azioni, vai a Configurazione > Feed.
-
Fai clic su Modifica e compila il modulo Aggiorna feed:
- Metodo di importazione del feed:impostato su Amazon S3.
- File indicatore: fornisci l'URL del file
marker.txt
. - File di dati:fornisci l'URL del bucket S3 contenente i feed di dati.
- ID di accesso:inserisci l'ID chiave di accesso IAM con le autorizzazioni per leggere dalle risorse S3.
- Chiave di accesso:inserisci la chiave di accesso segreta IAM con le autorizzazioni per leggere dalle risorse S3.
- Fai clic su Invia.
- Dopo una o due ore, controlla se l'importazione collettiva recupera i file del feed.
Se ospiti i tuoi feed di dati con Google Cloud Storage
- In Centro azioni, vai a Configurazione > Feed.
-
Fai clic su Modifica e compila il modulo Aggiorna feed:
- Metodo di importazione del feed:impostalo su Google Cloud Storage.
- File indicatore: fornisci l'URL del file
marker.txt
. - File di dati:fornisci l'URL del bucket GCS contenente i feed di dati.
- Fai clic su Invia.
- Viene creato un account di servizio per accedere al bucket GCS. Il nome dell'account è disponibile in Configurazione > Feed al termine delle attività di onboarding. Questo account di servizio richiede il ruolo "Lettore di oggetti legacy di Storage". Questo ruolo può essere concesso all'account di servizio nella pagina IAM della console Google Cloud.
- Dopo una o due ore, controlla se l'importazione collettiva recupera i file del feed.
Se ospiti i tuoi feed di dati con HTTPS
- In Centro azioni, vai a Configurazione > Feed.
-
Fai clic su Modifica e compila il modulo Aggiorna feed:
- Metodo di importazione del feed:impostato su HTTPS.
- File Sitemap: fornisci l'URL del file
sitemap.xml
. - Nome utente:inserisci le credenziali del nome utente per accedere al server HTTPS.
- Password: inserisci la password per accedere al server HTTPS.
- Fai clic su Invia.
- Dopo una o due ore, controlla se l'importazione collettiva recupera i file del feed.
Percorsi di esempio
La tabella seguente contiene percorsi di esempio per ciascuna delle opzioni di hosting:
Amazon S3 | Google Cloud Storage | HTTPS con una Sitemap | |
---|---|---|---|
Percorso | s3://foorestaurant-google-feed-sandbox/ |
gs://foorestaurant-google-feed-sandbox/ |
https://sandbox-foorestaurant.com/sitemap.xml |
File indicatore | s3://foorestaurant-google-feed-sandbox/marker.txt |
gs://foorestaurant-google-feed-sandbox/marker.txt |
Non applicabile |
Sitemap per l'hosting HTTPS
Segui queste linee guida quando definisci le sitemap:
- I link nella sitemap devono puntare ai file stessi.
- Se la sitemap include riferimenti a un provider cloud anziché al tuo nome di dominio,
assicurati che l'inizio degli URL, come
https://www.yourcloudprovider.com/your_id
, sia stabile e univoco per il tuo job batch. - Fai attenzione a non caricare sitemap parziali (ad esempio in caso di caricamento parziale dei dati). In questo modo, Google importerà solo i file nella sitemap, il che comporterà un calo dei livelli di inventario e potrebbe comportare il blocco dell'importazione del feed.
- Assicurati che i percorsi dei file a cui si fa riferimento nella sitemap non cambino. Ad esempio, non fare riferimento alla pagina
https://www.yourcloudprovider.com/your_id/10000.json
oggi e poi ahttps://www.yourcloudprovider.com/your_id/20000.json
domani nella Sitemap.
Esempio di Sitemap
Ecco un esempio di file sitemap.xml
che pubblica file di feed di dati:
Esempio 1: entità raggruppate per commercianti (opzione consigliata).
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>
Esempio 2: entità raggruppate per tipo.
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>
Aggiornare i feed di dati
Una volta collegati i feed di dati, Google controlla se sono presenti aggiornamenti una volta ogni ora, ma importiamo tutti i feed di dati solo quando i file marker.txt
o sitemap.xml
sono stati modificati. Ti aspettiamo di aggiornare i feed di dati una volta al giorno per evitare un inventario obsoleto.
Per specificare che i feed di dati sono stati modificati e sono pronti per l'importazione collettiva, aggiorna il campo dei metadati dell'oggetto last-modified
del file marker.txt
(per Google Cloud e S3) o l'intestazione di risposta last-modified
del file sitemap.xml
. Google
utilizza questi valori per determinare l'aggiornamento di un feed di dati.
Durante l'importazione del feed batch,
- Verranno inserite nuove entità che non esistono nell'attuale inventario end-to-end di ordini e che non presentano errori.
-
Le entità già presenti nell'inventario che non presentano errori di importazione e che hanno un valore
dateModified
più recente della voce corrente o, in caso di assenza di un valoredateModified
, l'ora di inizio dell'importazione del feed è più recente della voce corrente, verranno aggiornate, altrimenti verranno contrassegnate come non aggiornate. - Le entità che facevano parte di un feed precedente e che non sono più incluse nel feed batch in fase di elaborazione verranno eliminate, a condizione che non siano presenti errori a livello di file nel feed.
Il timestamp o l'intestazione di risposta last-modified
deve essere aggiornato solo dopo che tutti i file del feed di dati sono stati generati e aggiornati. Limita l'esecuzione dei job batch che aggiornano i feed di dati solo
una volta al giorno. In alternativa, lascia trascorrere almeno tre ore tra ogni job batch. Se non segui questi passaggi, Google potrebbe recuperare file obsoleti.