将数据与SaaS数据导出同步
当您安装需要数据导出的Commerce服务(如Catalog Service、Live Search或Product Recommendations)时,将安装一组Saas数据导出模块以管理数据收集和同步过程。
SaaS数据导出会持续将产品数据从Adobe Commerce实例移动到Commerce Services平台,以使数据保持最新。 例如,产品Recommendations需要当前的目录信息才能准确地返回具有正确名称、定价和可用性的推荐。 使用数据管理仪表板观察和管理同步过程,或者使用命令行界面触发同步并重新索引产品数据以供Commerce服务使用。
下图显示了SaaS数据导出流程。
适用于Adobe Commerce的 {width="900" modal="regular"}
SaaS数据导出流的主要组件包括:
- SaaS数据导出模块,用于从Adobe Commerce收集馈送数据、汇编馈送项目、侦听更新并保留馈送状态。
- SaaS导出模块,用于导出数据、配置路由并将馈送发布到连接的服务。
- Adobe Commerce服务可管理数据摄取过程,以验证传入馈送并将更新保留到连接的服务。
同步模式
SaaS数据导出有两种模式来处理实体馈送:
-
立即导出模式 — 在此模式下,将在单个迭代中收集数据并立即将其发送到Commerce服务。 此模式可加快将实体更新交付到Commerce服务的速度,并减小信息源表的存储大小。
-
旧版导出模式 — 在此模式下,将在单个进程中收集数据。 然后,cron作业将收集的数据发送到连接的商务服务。 在数据导出日志条目中,使用旧模式的馈送被标记为
(legacy)
。
同步类型
SaaS数据导出支持三种同步类型:完全同步、部分同步和重试失败的项同步。
完全同步
将Adobe Commerce实例连接到Commerce服务后,执行完全同步以将实体馈送数据从Adobe Commerce发送到连接的服务。
部分同步
通过部分同步,SaaS数据导出会自动将Commerce应用程序中的更新(例如产品名称更改或价格更新)发送到连接的商务服务。
数据导出过程使用以下cron作业来自动执行部分同步操作。
-
“索引”cron组作业:
indexer_reindex_all_invalid
作业将重新索引所有无效馈送。 这是标准的Adobe Commerce cron作业。saas_data_exporter
作业适用于旧版导出源。sales_data_exporter
作业特定于销售数据导出馈送。
这些作业每分钟运行一次。
为了使部分同步正常工作,Commerce应用程序需要以下配置:
-
所有SaaS数据导出索引器均在
Update by Schedule
模式下配置。在SaaS数据导出版本103.1.0及更高版本中,
Update by Schedule
模式默认处于启用状态。 可以使用Commerce CLI命令bin/magento indexer:show-mode | grep -i feed
验证服务器上的索引配置
重试失败的项目同步
重试失败项目同步使用单独的进程来重新发送由于同步过程中出现的错误(例如应用程序错误、网络中断或SaaS服务错误)而未能同步的项目。 此同步的实施也基于cron作业。
resync_failed_feeds_data_exporter
cron组作业:<feed name>_feed_resend_failed_feeds_items
作业重新发送同步失败的项,例如products_feed_resend_failed_items
。
查看和管理同步过程
大多数同步活动是根据应用程序配置自动处理的。 但是,SaaS数据导出还提供了用于管理该过程的工具。
验证Commerce应用程序配置
仅当Commerce实例配置正确时,“部分同步”和“重试失败的项”同步才能正常工作。 通常,在设置Commerce服务时完成配置。 如果数据导出无法正常工作,请检查以下配置。
数据传输日志记录的事件管理器通知
在版本103.3.4及更高版本中,当数据从Commerce实例发送到Adobe Commerce服务时,SaaS数据导出会调度data_sent_outside
事件。
$this->eventManager->dispatch(
"data_sent_outside",
[
"timestamp" => time(),
"type" => $metadata->getFeedName(),
"data" => $data
]
);