Основные данные - резервное копирование в Google App Engine (iPhone) - PullRequest
6 голосов
/ 19 января 2010

Я рассматриваю возможность резервного копирования данных из приложения iPhone с помощью Google App Engine (GAE) - я также рассматривал возможность использования Python для создания приложения RESTful для обработки входящих / исходящих данных.

На стороне клиента я использую Базовые данные для хранения информации, которую я хочу сохранить, и извлечения с использованием GAE.

Мне было интересно, были ли какие-нибудь хорошие уроки / ресурсы по выполнению вышеизложенного или это, возможно, что-то, что другие пытались реализовать.

Любой совет или указатели будут приветствоваться.

Ответы [ 3 ]

5 голосов
/ 20 января 2010

Доступна реализация REST-сервера с открытым исходным кодом для GAE-python * .

Я ничего не знаю о базовых данных, но вы легко могли бы хранить объекты в GAE, если бы вы могли сериализовать их в двоичном или XML-формате.

Двоичные объекты размером до 1 МБ можно сохранить как BlobProperty , а строки как TextProperty .

Существует также API-интерфейс Blobstore для объектов размером до 50 мегабайт .

3 голосов
/ 20 января 2010

Если вы хотите сохранить свои данные на сервере (или синхронизировать их), вы должны использовать промежуточный формат. Я лично рекомендую JSON, так как его можно легко использовать с Core Data. Поскольку вы можете получить словарь всех значений в объекте, тривиально преобразовать этот словарь в данные JSON и передать его по проводам на сервер. Затем ваш сервер может извлечь эти данные JSON и преобразовать их в любой формат, в котором сервер хочет их сохранить.

0 голосов
/ 19 января 2010

Хотите ли вы отобразить ваши основные объекты данных на объекты хранилища данных GAE? Если это так, это может быть сложно. Как вы говорите, вам придется реализовать серверную логику с помощью Python или Java, а ваши объекты iPhone находятся в Objective-C. Вам потребуется какая-то схема для их сериализации / десериализации.

Более простой подход, если все, что вам нужно для GAE - это резервное копирование, состоит в том, чтобы сериализовать объекты данных Core и сохранять их как двоичные объекты с парами ключ-значение в GAE.

Мне не известны подобные подходы, поэтому я буду следить за этим сообщением.

...