I tuoi feed di dati ti consentono di rendere disponibili il ristorante, i servizi e il menu in Ordini end-to-end.
Questo documento spiega come ospitare gli inventari di produzione e sandbox e come utilizzare l'importazione in batch per aggiornare l'inventario in Ordini end-to-end.
Ambienti dei feed di dati
Sono disponibili tre ambienti di feed di dati per lo sviluppo dell'integrazione:
Ambiente del feed | Descrizione | Importazione in batch |
---|---|---|
Sandbox | L'ambiente di test per lo sviluppo del feed. | Obbligatorio |
Produzione | L'ambiente di produzione dell'inventario che vuoi lanciare. | Obbligatorio |
Hosting di feed di dati
Per consentire all'ordine end-to-end di elaborare i feed di dati sandbox e di produzione tramite importazione batch, devi ospitare i file del feed di dati in Google Cloud Storage, Amazon S3 o HTTPS con una Sitemap.
Ti consigliamo di ospitare separatamente i feed di dati per gli ambienti sandbox e di produzione. Questo approccio ti consente di eseguire sviluppo e test nell'ambiente del feed sandbox prima di eseguire il deployment delle modifiche in produzione.
Ad esempio, se utilizzi Google Cloud Storage come opzione di hosting, hai i seguenti percorsi:
- Feed sandbox:
gs://foorestaurant-google-feed-sandbox/
- Feed produzione:
gs://foorestaurant-google-feed-prod/
Per ospitare l'inventario:
- Genera i file dei feed di dati.
- Scegli una soluzione di hosting.
- Ospita i tuoi feed di dati.
- Assicurati che i file dei 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 dei feed di dati
Ciascun 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à figlie, non devono superare i 4 MB complessivamente.
Scegli una soluzione di hosting
La seguente tabella elenca le opzioni per l'hosting dei tuoi feed di dati e il funzionamento di tali host con l'ordine 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:
Esempio di file |
Fornisci a Google i percorsi delle directory dei bucket di produzione e sandbox e il
file Aggiungi l'account di servizio fornito dal tuo consulente Google come lettore del tuo bucket Google Cloud Storage. Per saperne di più su come controllare l'accesso a Google Cloud Storage (GCS), consulta Console di Google Cloud Platform: impostare le autorizzazioni del bucket. Il bucket GCS deve includere le seguenti informazioni:
Esempio di file |
Fornisci a Google le seguenti informazioni:
|
In che modo Google sa quali file devono essere recuperati | Elenco della directory di tutti i file contenuti nel bucket. | Elenco della directory di tutti i file contenuti nel bucket. | Singoli URL dei file elencati nella Sitemap. |
In che modo Google sa che i file sono pronti per essere recuperati | Dopo aver completato la generazione dei feed di dati, aggiorna il file marker.txt con il timestamp più recente. |
Dopo aver completato la generazione dei feed di dati, aggiorna il file marker.txt con il timestamp più recente. |
Dopo aver completato la generazione dei feed di dati, aggiorna l'intestazione della risposta last-modified del tuo sitemap.xml con il timestamp più recente. |
Limiti dei file |
Numero massimo di file: 100.000. Devi avere meno di 100.000 file in totale nel tuo bucket Amazon S3. |
Numero massimo di file: 100.000. Il tuo bucket Google Cloud Storage deve contenere meno di 100.000 file in totale. |
Numero massimo di file: 100.000. Il numero di percorsi di file all'interno del file XML della Sitemap deve essere inferiore a 100.000. |
Collegare i feed di dati per l'importazione in gruppo
Dopo aver ospitato i feed, devi collegarli al tuo progetto nel Centro azioni. La configurazione iniziale dei feed di produzione viene eseguita nella pagina Attività di onboarding. In seguito, la configurazione dei feed di produzione e sandbox può essere aggiornata in qualsiasi momento dalla pagina Configurazione > Feed da qualsiasi utente del portale con ruolo amministrativo. L'ambiente sandbox viene utilizzato a scopo di sviluppo e test, mentre i feed di produzione vengono mostrati agli utenti.
Se ospiti i tuoi feed di dati con Amazon S3
- Nel Centro azioni, vai a Configurazione > Feed.
-
Fai clic su Modifica e compila il modulo Aggiorna feed:
- Metodo di invio del feed. Impostalo su Amazon S3.
- File indicatore: fornisci l'URL del file
marker.txt
. - File di dati: fornisci l'URL del bucket S3 che contiene i feed di dati.
- ID 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 in gruppo recupera i file del feed.
Se ospiti i tuoi feed di dati con Google Cloud Storage
- Nel Centro azioni, vai a Configurazione > Feed.
-
Fai clic su Modifica e compila il modulo Aggiorna feed:
- Metodo di pubblicazione dei feed. Impostalo su Google Cloud Storage.
- File indicatore: fornisci l'URL del file
marker.txt
. - File di dati: fornisci l'URL del bucket GCS che contiene i feed di dati.
- Fai clic su Invia.
- Viene creato un account di servizio per accedere al bucket GCS. Il nome dell'account sarà disponibile in Configurazione > Feed dopo il completamento delle attività di onboarding. Questo account di servizio richiede il ruolo "Lettore oggetti legacy 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 in gruppo recupera i file del feed.
Se ospiti i feed di dati con HTTPS
- Nel Centro azioni, vai a Configurazione > Feed.
-
Fai clic su Modifica e compila il modulo Aggiorna feed:
- Metodo di pubblicazione dei feed:impostalo 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 in gruppo 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
Attieniti alle seguenti linee guida quando definisci le Sitemap:
- I link della Sitemap devono rimandare ai file stessi.
- Se la Sitemap include riferimenti a un cloud provider anziché al tuo nome di dominio, assicurati che l'inizio degli URL, come
https://www.yourcloudprovider.com/your_id
, sia stabili e univoco per il job batch. - Fai attenzione a non caricare Sitemap parziali (come nel caso di un caricamento parziale di dati). Così facendo, Google importerà solo i file contenuti nella Sitemap. Di conseguenza, i livelli di inventario diminuiranno e l'importazione del feed potrebbe essere bloccata.
- Assicurati che i percorsi dei file a cui viene fatto riferimento nella Sitemap non cambino. Ad esempio, non cercate il riferimento della Sitemap
https://www.yourcloudprovider.com/your_id/10000.json
oggi, ma poi fate riferimento ahttps://www.yourcloudprovider.com/your_id/20000.json
domani.
Esempio di Sitemap
Ecco un esempio di file sitemap.xml
in cui vengono pubblicati i file del feed di dati:
Esempio 1: entità raggruppate per commercianti (consigliato).
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 la disponibilità di aggiornamenti ogni ora, ma importa tutti i feed di dati solo dopo la modifica dei file marker.txt
o sitemap.xml
. Prevediamo che i feed di dati vengano aggiornati una volta al giorno per evitare l'inventario inattivo.
Per specificare che i feed di dati sono stati modificati e sono pronti per l'importazione in batch, aggiorna il campo dei metadati dell'oggetto last-modified
del file marker.txt
(per Google Cloud e S3) o l'intestazione della risposta last-modified
del file sitemap.xml
. Google
utilizza questi valori per determinare il livello di aggiornamento del feed di dati.
Durante l'importazione del feed batch,
- Verranno inserite nuove entità che non esistono nell'inventario end-to-end attuale dell'ordine e che non presentano errori.
-
Le entità già presenti nell'inventario che non presentano errori di importazione e hanno una
dateModified
più recente della voce corrente oppure, nel caso in cui la voce non siadateModified
, l'ora di inizio dell'importazione del feed è più recente rispetto alla voce corrente, che verrebbero aggiornate; in caso contrario verranno contrassegnate come non aggiornate. - Le entità che facevano parte di un feed precedente e non sono più incluse nel feed batch in elaborazione verranno eliminate, a condizione che nel feed non siano presenti errori a livello di file.
Il timestamp o l'intestazione della risposta last-modified
devono essere aggiornati solo dopo aver generato e aggiornato tutti i file del feed di dati. Limita i job batch che aggiornano i feed di dati in modo che vengano eseguiti solo una volta al giorno. In alternativa, lascia un intervallo di almeno tre ore tra un job batch e l'altro. Se non esegui questi passaggi, Google potrebbe recuperare file inattivi.