與SaaS資料匯出同步資料
當您安裝需要資料匯出的Adobe Commerce服務(例如Catalog Service、Live Search或Product Recommendations)時,將會安裝SaaS資料匯出模組的集合,以管理資料收集和同步處理程式。
SaaS資料匯出會持續將產品資料從Adobe Commerce執行個體移至Commerce Services平台,以保持資料在最新狀態。 例如,產品建議需要目前的目錄資訊,才能正確地傳回具有正確名稱、價格和可用性的建議。 如需監視同步處理程式的詳細資訊,請參閱檢視和管理同步處理程式。
下圖顯示SaaS資料匯出流程。
Adobe Commerce的
當Adobe Commerce中的目錄資料變更時,同步處理會經過這些階段。
- 實體變更偵測 - Magento的Mview系統會偵測訂閱資料庫表格(例如
catalog_product_entity)中的列變更,並將專案寫入變更記錄檔表格。 - 摘要索引 — 摘要索引器會讀取變更記錄檔、從來源資料表載入實體資料,以及組合摘要專案。
- 資料收集與轉換 — 在摘要結構描述
et_schema.xml中註冊的提供者會收集欄位資料。 - 雜湊重複資料刪除 — 已計算每個摘要專案的內容雜湊。 會略過自上次匯出後雜湊未變更的專案,因此只會傳輸修改過的資料。
- HTTP提交 — 摘要專案會以已驗證的HTTP POST批次形式傳送至Adobe SaaS摘要擷取服務。
- 狀態持續存在 - API回應狀態會針對每個專案回寫至摘要資料表。
- 失敗重試 — 無法匯出的專案會由排程的cron工作自動重試。
同步模式
SaaS資料匯出有兩種模式可處理實體摘要:
-
立即匯出模式 — 在此模式中,會收集資料並在單一反複專案中立即傳送至Commerce服務。 此模式可加快將實體更新傳送至Commerce服務的速度,並降低摘要表格的儲存大小。
-
舊版匯出模式 — 在此模式中,資料會以單一程式收集。 然後,cron作業會將收集的資料傳送至連線的商務服務。 在資料匯出記錄專案中,使用舊版模式的摘要會標示為
(legacy)。
同步型別
SaaS資料匯出支援三種同步型別:完全同步、部分同步和重試失敗專案同步。
完全同步
將Adobe Commerce執行個體連線至Commerce服務後,執行完整同步以將實體摘要資料從Adobe Commerce傳送至連線的服務。
部分同步 partial-sync
透過部分同步,SaaS資料匯出會自動從Commerce應用程式將更新(例如產品名稱變更或價格更新)傳送至連線的商務服務。
為了讓部分同步運作,Commerce應用程式需要下列設定:
- 已透過cron工作啟用工作排程
- 所有SaaS資料匯出索引子都是以
Update by Schedule模式設定。
重試失敗的專案同步 retry-failed-items-sync
「重試失敗的專案」同步會使用個別程式來重新傳送因同步處理期間發生錯誤(例如應用程式錯誤、網路中斷或SaaS服務錯誤)而無法同步的專案。 resync_failed_feeds_data_exporter群組中的*_resend_failed_items cron工作每5分鐘會自動處理一次。
排程的cron工作
以下cron群組會按照固定排程自動化管道。
indexindexer_update_all_viewsindexindexer_reindex_all_invalidresync_failed_feeds_data_exporter*_resend_failed_itemscommerce_data_exportsaas_data_exportercommerce_data_exportcleanup_deleted_feed_items摘要提交和HTTP錯誤處理 feed-submission-and-http-error-handling
摘要專案會透過HTTP POST以已驗證gzip壓縮的JSON批次形式提交。 下表顯示HTTP回應程式碼如何對應至匯出狀態和重試行為。
var/log/saas-export-errors.log以取得詳細資料。除了HTTP層級失敗之外,*_resend_failed_items cron工作也會排程應用程式層級錯誤(例如本機處理失敗或網路中斷)以進行自動重試。
從Commerce管理員的Data Feed Sync Status頁面監視每個摘要的狀態。