antonythorpe / consumer
一个用于消费外部API的SilverStripe BulkLoader
4.0.1
2024-06-15 08:53 UTC
Requires
- php: ^8.1
- silverstripe/framework: ^5.0.0
Requires (Dev)
- squizlabs/php_codesniffer: ^3.7.2
README
一个用于消费外部API的SilverStripe BulkLoader
使用外部真实来源保持数据完整性。使用从外部API接收的新数据更新数据对象。灵感来自 burnbright/silverstripe-importexport。
功能
- 保留最大最后编辑日期的记录(用作未来API调用的限制)
- 显示、记录和/或通过电子邮件显示批量加载结果,显示对数据对象所做的更改
- 结果报告的本地化选项可用
- 预览设置,在干运行中不修改数据对象
用例
当数据对象需要从外部真实来源更新时。
一个例子是电子商务网站,其中产品价格需要与在线库存系统保持一致(用于销售后的订单履行管理)。由于电子商务网站是库存物品的子集,因此需要更新,而不需要创建新的产品项。定价和其他属性经常更改。根据“一次输入数据”的哲学,从外部真实来源的同步将保持网站准确、最新并减少维护。
如何使用
- 子类化
\AntonyThorpe\Consumer\BulkLoader
并设置外部API字段和数据对象之间的列映射(请参阅文档和测试文件夹以获取指导)。 - 创建一个
BuildTask
以使用像 Guzzle 这样的工具检索最新的API数据 - 通过您的批量加载子类的方法更改数据对象
- 查看批量加载结果报告
- 创建
Consumer
类的实例并记录最后编辑日期以供将来参考 - 设置一个cron作业定期运行
BuildTask
并监控传入的电子邮件以检查异常
示例
Silvershop Unleashed软件的批量加载器(链接)
需求
文档
支持
无,抱歉。