iTunes 企业合作伙伴源是“来自 iTunes 和 App Store 的完整元数据集的数据源”并且“以两种不同的格式提供 - 作为构建关系数据库所需的文件或作为独立的平面文件依赖于国家和媒体。”
我需要使用此提要中的数据(本质上是导出到平面文件中)并允许将我自己的模型对象(用户、活动等)链接到提要提供的数据(应用程序、开发人员等)。数据以每周完整导出和每日增量导出的形式提供。
对于实现这一点,我有两个想法:
- 在我的 rails 应用程序中创建所有模型并编写我自己的导入器,它将使用我创建的模型(应用程序、开发人员等)每天通过 cron 将记录直接插入/更新到我的应用程序的数据库中
- 保持这个数据库完全独立并打开我自己的应用程序将使用的 REST API
我使用#1将所有内容保留在 Rails 应用程序中的天真方法是基于能够观察我从 EPF 获得的数据的变化的需要。例如,如果更新了 App 的描述,我希望能够通过观察者创建一个 Activity 对象来跟踪该更新。
一方面,#2感觉是一种更好的方法,因为它在数据中创建了一个独立的 API,可以从我创建的几个不同的应用程序中使用。另一方面,我只是不确定如何在不直接在我自己的模型上使用观察者的情况下完成数据更改通知。或者,我什至如何以面向对象的方式使用仍然可以与我自己的模型一起使用的数据。感觉需要查询 API 以获取应用程序的数据、为其创建适当的 Active Record 对象然后保存它,以便它可以链接到我自己的模型之一,这感觉就像是很多重复的工作。
有没有一种我完全想念的标准方法来做到这一点?任何指针?
编辑: Rails 引擎听起来很有趣,但这意味着每个应用程序仍然需要单独使用和插入数据。这听起来不那么干燥。听起来越来越像 REST API 是要走的路。我只是不知道如何弥合从 API 到 Active Record 模型的差距。