Importazione in batch

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:

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

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

Il bucket S3 deve includere le seguenti informazioni:

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

Esempio di file marker.txt: 2018-12-03T08:30:42.694Z

Fornisci a Google i percorsi delle directory dei bucket di produzione e sandbox e il file marker.txt. 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 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:

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

Esempio di file marker.txt: 2018-12-03T08:30:42.694Z

Fornisci a Google le seguenti informazioni:

  • Credenziali dell'autorizzazione di base.
  • Il percorso dei percorsi Sitemap di produzione e della 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 dei feed ospitati mediante l'autenticazione di base.
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

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

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

Se ospiti i feed di dati con HTTPS

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