1

我目前正在设置需要与电子商务解决方案通信的 Akeneo (2.1) 实例。我想知道导入和导出数据的最佳实践是什么。这方面缺乏文档;它告诉您如何设置它,但我在这里缺少实际用例。

这就是我的想法:

  • 我希望我们的客户能够使用 FTP 连接上传他们的图像/CSV 文件。
  • 理想情况下,Akeneo 应该仅在检测到此 (FTP) 目标文件夹中的突变时才开始导入。
  • 每天只能导出一次或两次,完成后应使用 (s)FTP 将存档传输到其他位置

我目前在如何在 Akeneo 中实现此流程时遇到了麻烦。因为如果我看看开箱即用的东西,我可以得出以下结论:

  • 我可以设置一个以“app/uploads/product/”结尾的 FTP 帐户,并允许客户上传到该位置
  • Akeneo 没有检测到文件系统的变化,所以我只能设置一个尝试每小时导入一次的 cronjob。这种方法的缺点是 Akeneo 每次都会将 CSV 文件复制到 `app/archive/import`。如果您有较大的 CSV 文件,这可能会导致磁盘使用量有所增加。
  • 我可以设置一个 cronjob 每天导出两次,但同样:Akeneo 将在每次导出时创建档案,因此 `app/archive/export` 每天都会变得更大。请注意,我的客户拥有超过 4GB 的资产(图像、文档等)。Akeneo 是否时不时清理 `app/archive` 文件夹?
  • 每个导出的存档都在一个新文件夹中(每个递增的作业编号(例如`app/archive/export/csv_product_export/28/`)),所以我有点想知道如何检测这个新文件夹以及如何导出完成后,我可以触发将存档上传到远程 (S)FTP 服务器。

我只是想知道与 Akeneo 合作的其他人是如何应对这些挑战的。我知道我可以编写自己的自定义包并挂钩到大量事件或编写 shell 脚本,这些脚本对我来说很神奇,但我想知道 Akeneo 本身已经提供了关于这个主题的哪些内容。

欢迎任何关于这个话题的想法/想法/建议/经验!

4

1 回答 1

0

要回答您的问题:

  • Akeneo 不需要在app/uploads/product/ 文件夹中上传 csv。您可以在导入配置文件中定义 csv 位置。这样你就可以使用你想要的任何位置。
  • 要导入图像,您需要将它们与 csv 文件一起压缩(要查看存档的结构应该是什么样子,您可以在 demo.akeneo.com 上导出一些带有媒体的产品)
  • 设置一个 cronjob 似乎是一个好主意。如果磁盘使用有问题,此 cronjob 还可以在导入后清理文件夹。
  • 要每天导出两次,您可以使用导出构建器仅导出自上次导出以来已更新的产品(增量导出)。这样,您就不会无故使用太多空间。
  • 同样,该app/archive/export/csv_product_export/28/路径仅供内部使用。这是 Akeneo 在导出期间(例如在 zip 之前)使用的工作目录,最终文件(csv 或 zip)被移动到定义的目标(在作业配置中)。

有了所有这些信息,这是我的建议:

  • 编写一个简单的 bash/php 脚本来检测文件夹中的更改,如果有,将文件移动到另一个位置并启动导入。
  • 如果要处理图像,可以在脚本中添加一种生成格式良好的 zip 文件的方法
  • 然后要导出到您的电子商务,设置一个 cronjob 以每小时导出一次,并且只将新的或更新的产品导出到所需的目的地。

另一种方法是使用此处详细记录的新 REST API:https ://api.akeneo.com/

于 2018-02-02T20:56:38.430 回答