将数据与SaaS数据导出同步

当您安装需要数据导出的Commerce服务(如Catalog Service、Live Search或Product Recommendations)时,将安装一组Saas数据导出模块以管理数据收集和同步过程。

SaaS数据导出会持续将产品数据从Adobe Commerce实例移动到Commerce Services平台,以使数据保持最新。 例如,产品Recommendations需要当前的目录信息才能准确地返回具有正确名称、定价和可用性的推荐。 使用数据管理仪表板观察和管理同步过程,或者使用命令行界面触发同步并重新索引产品数据以供Commerce服务使用。

下图显示了SaaS数据导出流程。

适用于Adobe Commerce的 SaaS数据导出收集和同步流程 {width="900" modal="regular"}

SaaS数据导出流的主要组件包括:

  • SaaS数据导出模块,用于从Adobe Commerce收集馈送数据、汇编馈送项目、侦听更新并保留馈送状态。
  • SaaS导出模块,用于导出数据、配置路由并将馈送发布到连接的服务。
  • Adobe Commerce服务可管理数据摄取过程,以验证传入馈送并将更新保留到连接的服务。

同步模式

SaaS数据导出有两种模式来处理实体馈送:

  • 立即导出模式 — 在此模式下,将在单个迭代中收集数据并立即将其发送到Commerce服务。 此模式可加快将实体更新交付到Commerce服务的速度,并减小信息源表的存储大小。

  • 旧版导出模式 — 在此模式下,将在单个进程中收集数据。 然后,cron作业将收集的数据发送到连接的商务服务。 在数据导出日志条目中,使用旧模式的馈送被标记为(legacy)

同步类型

SaaS数据导出支持三种同步类型:完全同步、部分同步和重试失败的项同步。

完全同步

将Adobe Commerce实例连接到Commerce服务后,执行完全同步以将实体馈送数据从Adobe Commerce发送到连接的服务。

NOTE
完全同步主要用于载入阶段。 避免常规使用,以防止数据库过载。 初始同步后,使用部分同步自动同步正在进行的更改。

部分同步

通过部分同步,SaaS数据导出会自动将Commerce应用程序中的更新(例如产品名称更改或价格更新)发送到连接的商务服务。

数据导出过程使用以下cron作业来自动执行部分同步操作。

  • “索引”cron组作业:

    • indexer_reindex_all_invalid作业将重新索引所有无效馈送。 这是标准的Adobe Commerce cron作业。
    • saas_data_exporter作业适用于旧版导出源。
    • sales_data_exporter作业特定于销售数据导出馈送。

这些作业每分钟运行一次。

为了使部分同步正常工作,Commerce应用程序需要以下配置:

  • 已通过cron作业启用任务计划

  • 所有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应用程序服务器的开发人员、系统集成商或管理员可以使用Adobe Commerce命令行工具(CLI)管理同步过程和数据馈送。 请参阅数据导出命令引用

验证Commerce应用程序配置

仅当Commerce实例配置正确时,“部分同步”和“重试失败的项”同步才能正常工作。 通常,在设置Commerce服务时完成配置。 如果数据导出无法正常工作,请检查以下配置。

  • 确认cron作业正在运行

  • 验证索引器是从Admin运行,还是使用Commerce CLI命令bin/magento indexer:info运行。

  • 验证以下源的索引器是否设置为Update by Schedule:目录属性、产品、产品覆盖和产品变体。 您可以在管理员中或使用CLI (bin/magento indexer:show-mode | grep -i feed)从索引管理检查索引器。

数据传输日志记录的事件管理器通知

在版本103.3.4及更高版本中,当数据从Commerce实例发送到Adobe Commerce服务时,SaaS数据导出会调度data_sent_outside事件。

$this->eventManager->dispatch(
   "data_sent_outside",
   [
       "timestamp" => time(),
       "type" => $metadata->getFeedName(),
       "data" => $data
   ]
);
NOTE
有关事件以及如何订阅这些事件的信息,请参阅Adobe Commerce开发人员文档中的事件和观察者
recommendation-more-help
6183eb5c-cb5c-49fa-bd7b-cd38576b727c