Importazione in batch

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:

  1. Genera i file del feed di dati.
  2. Scegli una soluzione di hosting.
  3. Ospita i tuoi feed di dati.
  4. 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:

  • ID chiave di accesso
  • Chiave di accesso segreta
  • I percorsi delle directory S3 di produzione e sandbox e del file marker.txt. Il percorso deve iniziare con s3://.

Il bucket S3 deve includere le seguenti informazioni:

  • File del feed per il tuo inventario.
  • marker.txt, che contiene un timestamp utilizzato per il recupero.

File marker.txt di esempio: 2018-12-03T08:30:42.694Z

Fornisci a Google i percorsi delle directory dei bucket di produzione e sandbox e del marker.txt file. I percorsi devono iniziare con gs://.

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 del feed per il tuo inventario.
  • marker.txt, che contiene un timestamp utilizzato per il recupero.

File marker.txt di esempio: 2018-12-03T08:30:42.694Z

Fornisci a Google le seguenti informazioni:

  • Credenziali per l'autenticazione di base.
  • Il percorso della sitemap di produzione e sandbox. Il percorso deve iniziare con https://.
  • Protocollo: devi rendere disponibili i file del feed tramite HTTPS, non HTTP.
  • Sicurezza: Google consiglia vivamente di proteggere i file del feed ospitati con l'autenticazione di base.
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

  1. In Centro azioni, vai a Configurazione > Feed.
  2. 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.
  3. Fai clic su Invia.
  4. 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

  1. In Centro azioni, vai a Configurazione > Feed.
  2. 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.
  3. Fai clic su Invia.
  4. 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.
  5. Dopo una o due ore, controlla se l'importazione collettiva recupera i file del feed.

Se ospiti i tuoi feed di dati con HTTPS

  1. In Centro azioni, vai a Configurazione > Feed.
  2. 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.
  3. Fai clic su Invia.
  4. 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 a https://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 valore dateModified, 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.