Как выполнять резервное копирование по расписанию на parse.com?

Есть ли у вас предложения по регулярному резервному копированию базы данных parse.com?

Информации об этом довольно мало, и я хотел бы выполнять что-то похожее на функцию ручного экспорта данных в панели инструментов, но ежедневно.

У кого-нибудь есть сценарий или что-то подобное, которым они хотели бы поделиться?

Parse сказал, что они собирались подумать об этой функции, но прошел год.


person John Smith    schedule 03.02.2014    source источник


Ответы (3)


Для резервного копирования ваших данных Parse вам просто нужно получить все записи для каждого класса Parse, который у вас есть. Для этого примера я возьму документацию из Parse REST API. У Parse есть SDK для JavaScript, .NET и iOS/OS X, все из которых обеспечивают функциональность, аналогичную описанной здесь.

Чтобы получить записи из класса Parse под названием «GameScore», вы можете сделать что-то вроде:

curl -X GET \
  -H "X-Parse-Application-Id: <YOUR APPLICATION ID>" \
  -H "X-Parse-REST-API-Key: <YOUR PARSE REST API KEY>" \
  -G \
  --data-urlencode 'limit=1000' \
  --data-urlencode 'skip=4000' \
  https://api.parse.com/1/classes/GameScore

Здесь limit=1000 означает, что вы собираетесь получить 1000 записей за раз (максимально возможное количество), а skip=4000 означает, что мы хотим пропустить первые 4000 записей. По сути, вы просто повторяете эту команду, начиная с skip=0 и увеличивая skip на 1000 каждый раз, пока количество возвращаемых записей не станет меньше 1000 (больше не осталось записей). Промойте и повторите для всех ваших классов Parse, и ваши данные будут зарезервированы.

person Daniel Bank    schedule 04.02.2014
comment
Я собираюсь отметить это как решенное, но я думаю, что, возможно, мне лучше написать небольшой скрипт, который может войти в систему, чтобы проанализировать и нажать экспорт данных.. :) - person John Smith; 04.02.2014
comment
Я знаю, что это мантра синтаксического анализа при резервном копировании наших данных, но, к сожалению, эта стратегия (и даже собственная функция экспорта синтаксического анализа) полностью игнорирует любые попытки обеспечить целостность данных (особенно ссылочную целостность). То есть таким образом мы не создаем моментальный снимок данных, а вместо этого создаем случайную выборку записей за относительно случайный период времени... - person David Hunt; 17.04.2014
comment
Существует ограничение на пропуск 10k, поэтому этот метод бесполезен, если только у вас очень маленькие столы. - person Chris Harrison; 08.05.2014

У меня была такая же проблема с резервным копированием данных сервера синтаксического анализа. Поскольку сервер синтаксического анализа использует mongodb, поэтому резервное копирование данных не является проблемой, я только что сделал простую вещь. загрузил резервную копию mongodb с сервера. А затем восстановил его с помощью

mongorestore /path-to-mongodump (извлеченные файлы)

Поскольку синтаксический анализ был превращен в открытый исходный код, поэтому мы можем принять эту технику.

person Debugger    schedule 19.01.2017
comment
да, он сохраняет все, что есть в базе данных. В моем случае все, что я вижу на панели синтаксического анализа, было успешно скопировано. - person Debugger; 20.02.2017

Вот скрипт bash, который я сделал для резервного копирования платформы синтаксического анализа. Сценарий может нуждаться в небольшой корректировке в зависимости от ОС.

person MeIr    schedule 24.02.2020