iTunes Enterprise Partner Feed: поток данных с полным набором метаданных из iTunes и App Store «и» доступен в двух разных форматах - либо как файлы, необходимые для создания реляционной базы данных, либо как отдельные плоские файлы, которые зависят от страны и носителя ».
Мне нужно использовать данные из этого фида (который по сути экспортируется в плоские файлы) и разрешить связывание моих собственных объектов модели (User, Activity и т. Д.) С данными, предоставленными фидом (App, Developer и т. Д.). предоставляется как еженедельный полный экспорт и ежедневный инкрементный экспорт.
У меня есть две идеи, как это реализовать:
- Создайте все модели в моем приложении rails и напишите свой собственный импортер, который будет ежедневно вставлять / обновлять записи непосредственно в базу данных моего приложения через cron, используя созданные мной модели (приложение, разработчик и т. Д.)
- Держите эту базу данных отдельно и откройте REST API, который будет использовать мое собственное приложение.
Мой наивный подход к №1, чтобы сохранить все в приложении Rails, основан на необходимости иметь возможность наблюдать за изменениями данных, которые я получаю из EPF. Например, если описание приложения обновляется, я хочу иметь возможность создать объект Activity через наблюдателя для отслеживания этого обновления.
С одной стороны, №2 кажется лучшим подходом, потому что он создает автономный API для данных, которые можно использовать из нескольких разных приложений, которые я создаю. С другой стороны, я просто не уверен, как бы выполнить уведомления об изменении данных без использования наблюдателей непосредственно на моих собственных моделях. Или как бы я мог потреблять данные объектно-ориентированным способом, который все еще можно было бы использовать с моими собственными моделями. Похоже, много дублированной работы приходится запрашивать у API, скажем, данные приложения, создавать для них соответствующий объект Active Record, а затем сохранять его, чтобы его можно было связать с одной из моих собственных моделей.
Есть ли стандартный способ сделать это, которого мне совершенно не хватает? Есть указатели?
РЕДАКТИРОВАТЬ: движки Rails звучат интересно, но это будет означать, что каждое приложение по-прежнему будет потреблять и вставлять данные отдельно. Это не звучит так СУХОЕ. Все больше и больше похоже на REST API. Я просто не знаю, как преодолеть разрыв от API к модели Active Record.