Sincronizzare i dati con l’esportazione di dati SaaS

Quando si installa un servizio Adobe Commerce che richiede l’esportazione di dati come Catalog Service, Live Search o Product Recommendations, viene installata una raccolta di moduli SaaS per l’esportazione di dati per gestire il processo di raccolta e sincronizzazione dei dati.

L’esportazione dei dati SaaS sposta i dati dei prodotti da un’istanza Adobe Commerce alla piattaforma Commerce Services su base continuativa per mantenere aggiornati i dati. Ad esempio, la funzione Consigli di prodotto richiede le informazioni correnti sul catalogo per restituire in modo accurato i consigli con nomi, prezzi e disponibilità corretti. Per informazioni dettagliate sul monitoraggio del processo di sincronizzazione, vedere Visualizzare e gestire il processo di sincronizzazione.

Il diagramma seguente mostra il flusso di esportazione dei dati SaaS.

Flusso di raccolta e sincronizzazione esportazione dati SaaS per Adobe Commerce {width="900" modal="regular"}

Quando i dati del catalogo cambiano in Adobe Commerce, la sincronizzazione si sposta attraverso queste fasi.

  1. Rilevamento modifiche entità - Il sistema Mview di Magento rileva le modifiche delle righe nelle tabelle del database sottoscritte (ad esempio, catalog_product_entity) e scrive le voci in una tabella changelog.
  2. Indicizzazione feed - L’indicizzatore del feed legge il registro delle modifiche, carica i dati delle entità dalle tabelle di origine e assembla gli elementi del feed.
  3. Raccolta e trasformazione dei dati - I provider registrati nello schema di feed et_schema.xml raccolgono i dati del campo.
  4. Deduplicazione hash - Viene calcolato un hash di contenuto per ogni elemento del feed. Gli elementi il cui hash non è stato modificato dopo l’ultima esportazione vengono ignorati, pertanto vengono trasmessi solo i dati modificati.
  5. Invio HTTP - Gli elementi feed vengono inviati come batch HTTP POST autenticati al servizio acquisizione feed SaaS di Adobe.
  6. Lo stato persiste - Lo stato della risposta API viene scritto nuovamente nella tabella di feed per ogni elemento.
  7. Nuovo tentativo errore - Gli elementi che non è stato possibile esportare vengono automaticamente ritentati da un processo cron pianificato.
NOTE
Per le distribuzioni di Adobe Commerce Optimizer Connector, SaaS Data Export gestisce il rilevamento delle modifiche delle entità e l'assembly del feed. Il connettore mappa quindi i feed nel formato Catalog Data Ingestion API e li invia a Adobe Commerce Optimizer. Vedere Pipeline di sincronizzazione del connettore per il controllo dell'ambito, l'invio e la gestione degli errori.
NOTE
Per garantire una pianificazione fluida ed evitare interruzioni nelle operazioni del sito, Adobe consiglia di stimare il volume dei dati e il tempo di sincronizzazione prima di avviare qualsiasi sincronizzazione dei feed di dati. Questa stima è importante quando si pianificano sincronizzazioni iniziali o aggiornamenti di cataloghi su larga scala, ad esempio le variazioni dei prezzi di massa. Per ulteriori dettagli, vedere Stimare il volume dei dati e il tempo di trasmissione per la sincronizzazione dei dati

Modalità di sincronizzazione

L’esportazione di dati SaaS prevede due modalità per elaborare i feed di entità:

  • Modalità di esportazione immediata: in questa modalità i dati vengono raccolti e inviati immediatamente al servizio Commerce in una singola iterazione. Questa modalità accelera la distribuzione degli aggiornamenti delle entità al servizio Commerce e riduce le dimensioni di archiviazione delle tabelle di feed.

  • Modalità di esportazione legacy: in questa modalità i dati vengono raccolti in un unico processo. Successivamente, un processo cron invia i dati raccolti ai servizi commerce connessi. Nelle voci del registro di esportazione dei dati, i feed che utilizzano la modalità legacy sono etichettati (legacy).

Tipi di sincronizzazione

L’esportazione dei dati SaaS supporta tre tipi di sincronizzazione: sincronizzazione completa, sincronizzazione parziale e nuovo tentativo di sincronizzazione degli elementi non riusciti.

Sincronizzazione completa

Dopo aver collegato un’istanza di Adobe Commerce al servizio Commerce, esegui una sincronizzazione completa per inviare i dati del feed di entità da Adobe Commerce al servizio connesso.

NOTE
La sincronizzazione completa è principalmente destinata alla fase di onboarding. Evita l’uso regolare per evitare il sovraccarico del database. Dopo la sincronizzazione iniziale, le modifiche in corso vengono sincronizzate automaticamente utilizzando la sincronizzazione parziale.

Sincronizzazione parziale partial-sync

Con la sincronizzazione parziale, l’esportazione di dati SaaS invia automaticamente aggiornamenti dall’applicazione Commerce, come modifiche al nome del prodotto o aggiornamenti dei prezzi, ai servizi commerce connessi.
Affinché la sincronizzazione parziale funzioni, l’applicazione Commerce richiede la seguente configurazione:

Ritenta sincronizzazione elementi non riusciti retry-failed-items-sync

La sincronizzazione di Riprova elementi non riusciti utilizza un processo separato per inviare nuovamente gli elementi non sincronizzati a causa di errori durante il processo di sincronizzazione, ad esempio un errore dell’applicazione, un’interruzione della rete o un errore del servizio SaaS. I processi cron *_resend_failed_items nel gruppo resync_failed_feeds_data_exporter lo gestiscono automaticamente ogni 5 minuti.

Processi cron pianificati

I seguenti gruppi cron automatizzano la pipeline secondo una pianificazione fissa.

Gruppo Cron
Processo Cron
Finalità
Pianificazione
index
indexer_update_all_views
Elabora i registri delle modifiche di Mview e attiva gli aggiornamenti parziali dei feed
Ogni 1 minuto
index
indexer_reindex_all_invalid
Esegue una risincronizzazione completa per gli indici di feed contrassegnati come “Reindicizzazione richiesta”
Ogni 1 minuto
resync_failed_feeds_data_exporter
*_resend_failed_items
Rileva gli elementi di feed non riusciti e li invia nuovamente
Ogni 5 minuti
commerce_data_export
saas_data_exporter
Invia dati per feed in modalità legacy (ordini, ambiti)
Ogni 5 minuti
commerce_data_export
cleanup_deleted_feed_items
Pulisce gli elementi di feed eliminati sincronizzati oltre il periodo di conservazione (7 giorni)
Ogni giorno alle 2:00

Invio di feed e gestione degli errori HTTP feed-submission-and-http-error-handling

Gli elementi feed vengono inviati come batch JSON autenticati compressi Gzip tramite HTTP POST. Nella tabella seguente viene illustrato il mapping dei codici di risposta HTTP allo stato di esportazione e al comportamento dei nuovi tentativi.

Codice di stato
Riprovare?
Significato
200
No
Accettato correttamente
400
No
Dati non validi o errore di convalida - richiede un’indagine manuale. Controllare var/log/saas-export-errors.log per i dettagli.
429
Limite di frequenza raggiunto - riduzione di thread_count in impostazioni di elaborazione esportazione
5xx
Errore lato SaaS - nuovo tentativo automatico
2
L’elemento è programmato per un nuovo tentativo

Oltre agli errori a livello HTTP, gli errori a livello di applicazione, ad esempio errori di elaborazione locale o interruzioni di rete, sono pianificati per un nuovo tentativo automatico da parte dei processi cron *_resend_failed_items.

Monitorare lo stato per feed dalla pagina Data Feed Sync Status nell’amministrazione di Commerce.

recommendation-more-help
commerce-help-data-export